WEB开发网
开发学院软件开发VC 动态菜单项状态条提示工具条提示问题 阅读

动态菜单项状态条提示工具条提示问题

 2008-01-19 20:25:58 来源:WEB开发网   
核心提示:问题的提出:一个应用程序想要动态改变菜单项,使用CCmdUI::SetText("Menu Text")可以改变菜单文本,动态菜单项状态条提示工具条提示问题,但是如何动态改变工具条和状态条的文本呢?有几种策略,避免,反之显示“显示工具条”,更为普通的方法是用单个命令以校验标记

问题的提出:

一个应用程序想要动态改变菜单项。使用CCmdUI::SetText("Menu Text")可以改变菜单文本,但是如何动态改变工具条和状态条的文本呢?

有几种策略,避免,欺骗,面对......

首先,避免:为什么你非要动态改变菜单项?一般说来,这是个坏主意,动态菜单容易把人搞糊涂。我正在使用你的产品,本来用得好好的突然菜单项变了。不管什么时候,每当我看到一个改变菜单的应用时,都要琢麽为什么他们需要这样的用户界面设计。

然而,每一个规则都有例外,许多例子的动态改变菜单项都很酷。例如,在大多数面向文档的应用程序中“文件”菜单的最后一项MRU(最近使用的文件列表)。但作为一个用户,面对动态菜单项的弊端是显而易见的。我把避免动态菜单提升为设计准则。即便是采用了动态菜单的设计,也要让用户注意不到菜单项是改变,否则,It''s bad design。反之,如果用户注意不到菜单项的改变,It''s OK。

但是动态改变状态条提示又如何呢?在MRU菜单中,无论什么文件,状态条一般都提示“打开选择的文档”。这是另一个要避免的策略。只有特别本位或任性的程序员会操心实现一个动态提示的菜单,如:“打开某某文件”,而不去用完全可行并且有效的提示“打开这个文档”。你完全有权利不遵循这种惯例,也就是说,如果你非要改变状态条提示的话,那就请往下继续看吧,你会明白的。

使用动态菜单的另一场合是当你想设置某个布尔状态时。例如,隐藏或显示工具条,当工具条可见时显示“隐藏工具条”,反之显示“显示工具条”。更为普通的方法是用单个命令以校验标记来实现,当工具条可见时显示标记(如下图)。

1 2 3  下一页

Tags:动态 菜单 状态

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接