【文档说明】[工学]第7章菜单程序设计课件.ppt,共(33)页,1.272 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-2105.html
以下为本文档部分文字说明:
1第7章菜单程序设计本章主要内容:1)菜单简介2)菜单中的ID3)菜单加速键4)添加新菜单5)定义菜单项的命令消息处理函数6)实现菜单控制2022/11/1227.1菜单简介菜单是一系列命令的列表,是
最常用的命令输入方式。在Windows中,几乎所有的操作都与菜单有关。当用户选择菜单项目后能实现相应的功能,实际上是向窗口对象发送了命令消息,系统调用相应的消息处理函数来实现相应的功能。Windows应用程序中的菜单是按照一定层次结构组织的,包括顶层菜单和
弹出菜单,其中,弹出菜单又包括菜单项和其它的弹出菜单。2022/11/1237.2菜单中的ID菜单中的每个菜单项都由菜单项名和ID两个基本要素组成,如下图所示。在菜单资源中,每个菜单项必须有一个唯一的ID号对它进行标记,这个ID号是系统对菜单项进行识别时使用的。20
22/11/124●设计一个单文档程序●在Workspace中打开Menu,双击IDR_MAIN_FRAME:得到应用程序缺省菜单资源。2022/11/125●右击Workspace的IDR_MAINFRAME,选Properties,得菜单属性对话框,也可以双击。2022
/11/126●双击菜单空白:支持ALT+S快捷键,选Pop-up:包含子菜单。2022/11/127●按住拖动菜单到适当位置,双击下拉菜单。2022/11/1287.3.菜单加速键在图所示的界面中,选择Re
sourceView选择卡中的Myresources下的菜单资源Menu,在主菜单IDR_MAINFRAME上双击,调出菜单资源编辑器。使用菜单资源编辑器为主菜单添加一列新菜单,如图所示。2022/11/129●设计一个单文档程序●在Workspace中打开Menu,
双击IDR_MAIN_FRAME:得到应用程序缺省菜单资源。2022/11/1210●右击Workspace的IDR_MAINFRAME,选Properties,得菜单属性对话框。2022/11/1211●双击菜单空白:支持ALT+S
快捷键选Pop-up:包含子菜单。2022/11/1212●按住拖动菜单到适当位置,双击下拉菜单。2022/11/1213●添加快捷键:在Workspace中,双击Accelerator下的IDR_MAINFRAME.右击键,选NEWAccelerator修改
加速键2022/11/12142022/11/12157.4添加新菜单:在如图所示的界面中,选择菜单资源Menu,单击右键。在弹出菜单中选择“插入Menu”菜单项,为当前工程插入新菜单IDR_My1,如图所示。2022/11/1216插入新菜单2022/11/121
7双击2022/11/1218右击2022/11/1219双击2022/11/12207.5.定义菜单项的命令消息处理函数1.命令消息作为用户接口对象,菜单项被用户选择后,会触发WM_COMMAND命令消息,命令消息可以被文档类、应用程序类、视图类、窗口类等多
种对象接收、处理。用户编程时,可以通过选择“查看”菜单下的“建立类向导”菜单项,为菜单项的命令消息映射。2022/11/1221对于每一个菜单项,在MFCClassWizard的Messages下拉列表框中都提供了:COMMAND和UPDATE_CO
MMAND_UI两种消息,其中,COMMAND为命令消息,主要处理用户的单击操作,UPDATE_COMMAND_UI为更新命令用户接口消息,主要使菜单项有效,无效或给菜单项动态添加检查标记等。当用户选择菜单项时,会触发命令消息,命令消息没有默认
的消息处理函数,程序员必须自己定义每个菜单项的命令消息处理函数,并实现该消息的处理函数。2022/11/1222命令消息处理更新命令用户接口消息2022/11/12232.创建菜单应用程序:●设计一个单文档程序●在
Workspace中打开Menu,双击IDR_MAIN_FRAME:得到应用程序缺省菜单资源。2022/11/1224●右击Workspace的IDR_MAINFRAME,选Properties,得菜单属性对话框。2022/11/1225●双
击菜单空白:支持ALT+S快捷键选Pop-up:包含子菜单。2022/11/1226●按住拖动菜单到适当位置,双击下拉菜单。2022/11/1227●添加快捷键:在Workspace中,双击Accelerator下的
IDR_MAINFRAME.右击键,选NEWAccelerator修改加速键2022/11/12282022/11/12297.6实现菜单控制菜单控制指通过菜单选项,向应用程序发送命令,应用程序处理消息。●在“计算”栏右击键,选ClassWizar
d.2022/11/1230●Classname确定应用程序的位置,由于应用程序收到消息后,并不能确定应用程序的位置,按以下class顺序搜索:viewDocSdiMdi子框架主框架2022/11/1231●ObjectIDS:确定消息
属主对象●Message菜单选项消息包括(命令消息和维护自身消息)●增加成员函数2022/11/1232菜单“系统”的函数2022/11/1233对应4个下拉菜单的函数2022/11/12