windows阶段课件常用控件二.pptx

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

常用控件(二)第六章

2回顾静态控件输入框控件按钮控件下拉控件列表控件

本章目标设计应用程序菜单为应用程序添加快捷键弹出式菜单的设计工具栏编程状态栏编程树控件及列表控件的使用

4菜单的类型菜单是作为一种资源定义的,常见的类型有三种:下拉层叠式菜单:在应用程序主窗口或最上层窗口的菜单,按类别排列,每一个类别对应一个下拉式菜单层叠式菜单:选择主菜单或一个菜单项时弹出的子菜单。用户可以定义多重嵌套的弹出式菜单。可以通过放置分隔线对逻辑或功能上紧密相关的菜单项分组弹出式菜单(上下文菜单):当右击某个界面对象时,通常会弹出快捷菜单,它出现在鼠标箭头的位置,快速展示当前对象可用的命令功能,免除在菜单中一一查找的麻烦

5快捷键和热键键盘快捷键(加速键)是一些特定的键的组合,通常使用“Ctrl”键与另一个键组合,或者使用功能键。热键是指菜单项中带有下划线的字母。用户按下“Atl”键+带下划线的字母,就可以选择相应的菜单项

6菜单设计的一般原则若点击某菜单项会弹出一对话框,那么在该菜单项文本后有“…”。若某项菜单有子菜单,那么在该菜单项文本后有“?”。菜单项需要助记符,用括号将带下划线的字母括起来。助记符与Alt构成一个组合键,当按住“Alt”键不放,再敲击该字母时,对应的菜单项就会被选中。若某项菜单需要快捷键的支持,则一般将其列在相应菜单项文本之后。任何时候按下快捷键,相应的菜单命令都会被执行。

7编辑菜单使用菜单编辑器来编辑菜单资源。双击ResourceView视图中的Menu菜单资源,即可打开菜单编辑器插入新菜单:在当前空白菜单项位置插入,则选定窗口中的空白菜单项后按回车键(或双击空白菜单项)要在某菜单项前插入,选中该菜单项并按Ins键,菜单编辑器将在该菜单项前插入一个空白菜单项,然后双击该空白菜单项进行编辑。

8菜单命令的消息映射2-1WM_COMMAND是最常用的菜单消息,它对应的消息映射宏是ON_COMMAND,消息映射为:ON_COMMAND(id,idFun)id为某一菜单项的ID,idFun为相应菜单命令的消息处理函数。菜单消息说明WM_COMMAND选择菜单项或使用快捷键产生此消息UPDATE_COMMAND_UI更新命令用户接口消息WM_INITMENU菜单在激活前产生此消息,程序可通过此消息在显示前修改WM_INITMENUPOPUP弹出菜单或子菜单被激活前产生的消息,功能同上WM_MENUSELECT选择菜单时发送给菜单所属窗口的消息WM_MENUCHAR菜单被激活后,按下键盘上与菜单无关的任意键产生的消息

9代码演示菜单编程

10为菜单添加快捷键在工作区的资源视图中展开Accelerator节点,然后双击IDR_MAINFRAME标识符,显示组合键资源编辑器

11菜单的有效控制一般情况下,菜单项都不止一种状态,我们经常需要根据应用的内部状态来对菜单项作相应的改变。MFC通过消息映射机制和CCmdUI类更新菜单项的显示。UPDATE_COMMAND_UI是更新命令用户接口消息,专门用于处理菜单项和工具条按钮的更新

12菜单的有效控制BEGIN_MESSAGE_MAP(CFileDoc,CDocument)?? //ManyON_*macrosremoved...?? ON_UPDATE_COMMAND_UI(ID_FILE_SAVE,OnUpdateFileSave)END_MESSAGE_MAP()...voidCFileDoc::OnUpdateFileSave(CCmdUI*pCmdUI){??//Enablethemenuitemifthefilehasbeenmodified.? pCmdUI-SetCheck(m_fModified);? pCmdUI-Enable(m_fModified);}

13菜单的编程控制4-1创建菜单:CMenu类的CreateMenu和CreatePopupMenu用来创建一个菜单或子菜单框架,原型如下:BOOLCreateMenu(); //产生一个空菜单BOOLCreatePopupMenu(); //产生一个空的弹出式子菜单装入菜单:将菜单从资源装入应用程序中,需调用CMenu成员函数LoadMenu,或者用SetMenu对应用程序菜单进行重新设置。BOOLLoadMenu(LPCTSTRlpszResourceName);BOOLLoadMenu(UINTnIDResource);

14菜单的编程控制4-2添加菜单项:菜单创建后,可调用AppendMenu或InsertMenu函数添加一些菜单项。AppendMenu是将菜单项添加在菜单的末尾处,InsertMenu在

文档评论(0)

158****9376 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档