版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 第7章 菜单程序设计 本章主要内容:菜单简介菜单中的ID3) 菜单加速键4) 添加新菜单5) 定义菜单项的命令消息处理函数6) 实现菜单控制2022/7/272 7.1 菜单简介 菜单是一系列命令的列表,是最常用的命令输入方式。在Windows中,几乎所有的操作都与菜单有关。当用户选择菜单项目后能实现相应的功能,实际上是向窗口对象发送了命令消息,系统调用相应的消息处理函数来实现相应的功能。 Windows应用程序中的菜单是按照一定层次结构组织的,包括顶层菜单和弹出菜单,其中,弹出菜单又包括菜单项和其它的弹出菜单。2022/7/2737.2 菜单中的ID 菜单中的每个菜单项都由菜单项名和ID
2、两个基本要素组成,如下图所示。在菜单资源中,每个菜单项必须有一个唯一的ID号对它进行标记,这个ID号是系统对菜单项进行识别时使用的。 2022/7/274 设计一个单文档程序 在Workspace中打开Menu, 双击 IDR_MAIN_FRAME: 得到应用程序缺省菜单资源。2022/7/275 右击Workspace的IDR_MAINFRAME, 选Properties, 得菜单属性对话框,也可以双击。2022/7/276 双击菜单空白: 支持ALT+S快捷键, 选Pop-up: 包含子菜单。2022/7/277 按住拖动菜单到适当位置,双击下拉菜单。2022/7/2787.3. 菜单加速
3、键 在图所示的界面中,选择Resource View选择卡中的My resources下的菜单资源Menu,在主菜单IDR_MAINFRAME上双击,调出菜单资源编辑器。使用菜单资源编辑器为主菜单添加一列新菜单,如图所示。2022/7/279 设计一个单文档程序 在Workspace中打开Menu, 双击 IDR_MAIN_FRAME: 得到应用程序缺省菜单资源。2022/7/2710 右击Workspace的IDR_MAINFRAME, 选Properties, 得菜单属性对话框。2022/7/2711 双击菜单空白: 支持ALT+S快捷键 选Pop-up: 包含子菜单。2022/7/271
4、2 按住拖动菜单到适当位置,双击下拉菜单。2022/7/2713 添加快捷键:在Workspace中,双击Accelerator下的IDR_MAINFRAME. 右击键,选NEW Accelerator 修改加速键2022/7/27142022/7/27157.4 添加新菜单: 在如图所示的界面中,选择菜单资源Menu,单击右键。在弹出菜单中选择“插入Menu”菜单项,为当前工程插入新菜单IDR_My1,如图所示。2022/7/27 16 插入新菜单2022/7/27 17 双击2022/7/27 18 右击2022/7/27 19 双击2022/7/27207.5. 定义菜单项的命令消息处理
5、函数 1. 命令消息 作为用户接口对象,菜单项被用户选择后,会触发WM_COMMAND命令消息,命令消息可以被文档类、应用程序类、视图类、窗口类等多种对象接收、处理。用户编程时,可以通过选择“查看”菜单下的“建立类向导”菜单项,为菜单项的命令消息映射。2022/7/2721 对于每一个菜单项,在MFC Class Wizard的Messages下拉列表框中都提供了:COMMAND和UPDATE_COMMAND_UI两种消息,其中,COMMAND为命令消息,主要处理用户的单击操作,UPDATE_COMMAND_UI为更新命令用户接口消息,主要使菜单项有效, 无效或给菜单项动态添加检查标记等。 当
6、用户选择菜单项时,会触发命令消息,命令消息没有默认的消息处理函数,程序员必须自己定义每个菜单项的命令消息处理函数,并实现该消息的处理函数。2022/7/2722命令消息处理更新命令用户接口消息2022/7/27232. 创建菜单应用程序: 设计一个单文档程序 在Workspace中打开Menu, 双击 IDR_MAIN_FRAME: 得到应用程序缺省菜单资源。2022/7/2724 右击Workspace的IDR_MAINFRAME, 选Properties, 得菜单属性对话框。2022/7/2725 双击菜单空白: 支持ALT+S快捷键 选Pop-up: 包含子菜单。2022/7/2726 按住拖动菜单到适当位置,双击下拉菜单。2022/7/2727 添加快捷键:在Workspace中,双击Accelerator下的IDR_MAINFRAME. 右击键,选NEW Accelerator修改加速键2022/7/27282022/7/27297.6 实现菜单控制 菜单控制指通过菜单选项,向应用程序发送命令,应用程序处理消息。 在“计算”栏右击键,选ClassWizard.2022/7/2730 Class name 确定应用程序的位置,由于应用程序收到消息后,并不能确定应用程序的位置,按以下class顺序搜索: view Doc Sdi Mdi 子框架 主框架2022/7/2731
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 1069-2026法定计量检定机构考核规范
- 教育培训课程顾问效果KPI考核表
- 第22课《古诗三首(出塞、凉州词、夏日绝句)》教学设计 试讲稿 说课稿(统编版语文四年级上册新教材)
- 化工企业设备操作与安全管理方案
- 销售部门员工业绩绩效考核表
- 旅游咨询服务绩效考评表
- 工业自动化技术工程师项目实施KPI考核表
- 汽车销售顾问销售提成考核表
- 浙江省杭州市余杭区钱塘联盟2026-2027学年高一上学期语文期中模拟试卷(含答案)
- 讨论合同条款细节的函件(6篇)
- 2026-2027学年高三第一次联考(月考)试卷地理+答案
- T/CI 874-2025红树林精准生态修复与成效评估技术规程
- 湖南九校联盟2027届高三上学期第一次联考化学(含答案)
- 第12课 历史性成就 第1课时 课件(内嵌视频)2026-2027学年道德与法治五年级上册统编版
- 2026秋教科版(新教材)小学科学六年级上册(全册)分层作业及答案附目录p149
- 机器人-机械电子工程导论
- 知识产权管理体系
- 《思想道德与法治》课件-第一节 人生观是对人生的总的看法
- 盾构标准化施工手册
- 钢管脚手架租赁合同
- 欠款合同模板版
评论
0/150
提交评论