分享

Visual C .NET编程讲座之四(1)

 dazuo0312 2006-09-09
第3讲 菜单、工具栏和状态栏之间的交互

 


  摘要


  本讲先来用资源编辑器对菜单和工具栏进行可视化设计,然后讨论命令消息的COMMAND和UPDATE_COMMAND_UI消息映射,并说明了工具按钮和菜单命令的联动方法,最后讨论工具栏的显示和隐藏、快捷菜单的实现,以及在状态栏上如何显示指定文本的方法。


  目录


   菜单的可视化设计及其命令映射


   工具栏设计及与菜单命令的联动


   工具栏的显示和隐藏的快捷方式实现


   在状态栏上显示文本


   本讲中常用操作问题的解决方法


   结束语


  菜单的可视化设计及其命令映射


  在上一讲中,我们主要讨论了文档数据的读取和显示,在这里我们先来打开上一讲中的单文档应用程序项目Viewer,然后对其菜单和工具栏进行设计。需要说明的是,Visual C++ .netWindows各种应用程序所需要的图形元素,例如菜单、工具栏、对话框、图标、光标等,作为可以装入应用程序的资源来存放。例如,Visual C++.NET将Viewer应用程序的资源都存放在Viewer.rc文件中,这种资源同源代码相分离的机制,能大大方便用户的操作,而且每一个资源元素都用相应的资源ID号来标识。


  1. 菜单的可视化设计


  在菜单设计之前,我们先了解一下菜单及其设计规范。


  菜单可以有多级结构,即一个菜单项可以有多个子菜单,而一个子菜单又可以包含多个下一级的子菜单,依此类推。但在菜单实际设计时,菜单的级数一般以2~3级为宜,而且设计时还要注意一些菜单原则。例如,若单击某菜单项会弹出一对话框,那么在该菜单项文本后加上"…";若菜单项需要助记符(带下划线的字符),则用括号将其括起来,对于顶层菜单项来说,当按住"Alt"键不放,再按助记符所对应的字符键时,对应的顶层菜单就会被打开,若子菜单项还有助记符,则只要按对应的字符键,则可执行该菜单命令;定义助记符时,只要在字符前面加上"&"符号即可;若某项菜单需要快捷键的支持,则一般将其列在相应菜单项文本之后。


  下面为Viewer项目添加一个"格式"菜单,其下有两个菜单项。一个是"设置字体"菜单,另一个是"文本颜色"菜单,分别用来改变文本显示的字体和颜色。具体步骤如下:


  (1) 将解决方案资源管理器切换到"资源视图",若没有该标签,则打开"视图"菜单,选择"资源视图"菜单命令即可。


  (2) 展开资源所有节点,双击Menu下的IDR_MAINFRAME,打开该程序的菜单资源。需要说明的是,凡是标识为IDR_MAINFRAME的资源均是程序框架加装的默认资源。


  (3) 如图1所示,单击顶层菜单最右边的"请在此处输入",直接按Insert键或右击"请在此处输入",在弹出的菜单中单击"新插入"。再单击"请在此处输入",该位置就会变成一个可编辑的文本框,出现了插入符。键入菜单文本内容"格式(&M)",然后按Enter键。



图1 顶层菜单资源

 


  (4) 单击"格式(&M)"菜单项下方的"请在此处输入",按Insert键,键入菜单文本内容"设置字体(&F)",然后按Enter键。


  (5) 单击"设置字体(&F)",在右下角的属性窗口中就会列出其所有的属性,如图2所示。需要说明的是,在属性窗口中,我们可以重新编辑菜单的文本内容和资源标识ID。Caption(标题)属性是用来标识菜单项显示文本,如果使用助记符,则字母的前面须有一个&符号;当Popup(弹出)属性为True时表示该菜单项是一个弹出式菜单,即该菜单下还有多个子菜单,此时属性ID、Separator和Prompt项无效;因此,若添加的是一个可以映射的菜单命令,则Popup属性一定要设为False。当Separator(分隔符)属性为True时表示菜单项是一个分隔符或是一条水平线;而Prompt(提示)属性用来指明鼠标指针移至该菜单项时在状态栏上显示的提示信息。



图2 菜单属性

 


  (6) 将默认的菜单项"设置字体(&F)"标识ID_130改为ID_FOMAT_TXTFONT。更改时直接在属性窗口中的ID栏右侧的框中进行编辑,修改后按Enter键。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多