- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5菜单、工具栏和状态栏讲述
菜单、工具栏和状态栏 1 菜单 2 工具栏 3 状态栏 4 交互对象的动态更新 1菜单 对于菜单的显示都遵循下列一些规则: 若点击某菜单项会弹出一对话框,那么在该菜单项文本后有“…”。 若某项菜单有子菜单,那么在该菜单项文本后有“?”。 菜单项需要助记符,用括号将带下划线的字母括起来。助记符与Alt构成一个组合键,当按住“Alt”键不放,再敲击该字母时,对应的菜单项就会被选中。 若某项菜单需要快捷键的支持,则一般将其列在相应菜单项文本之后。任何时候按下快捷键,相应的菜单命令都会被执行。 1菜单 1.1用编辑器设计菜单 编辑菜单 在菜单的空位置上双击鼠标左键,则出现它的属性对话框,如图。 1菜单 1菜单 需要注意的是: 当菜单项的属性中选中了Pop_up时,对话框中ID、Separator和Prompt项无效。 增加新的菜单项后,用户可以用鼠标将菜单项拖到其他位置,而当菜单项位置改变时,其属性并没改变。 1菜单 菜单命令的消息映射 [例Ex_Mmenu]“成绩输入”菜单项的映射。 (1)选择“View”菜单?“ClassWizard”命令项或按Ctrl+w快捷键,则出现MFC ClassWizard对话框,切换到Message Maps页面。 (2)从“Class name”列表中选择CMainFrame,在IDs列表中选择ID_SCORE_IN,然后在Messages框中选择COMMAND消息,如图。 1菜单 (3)单击[Add Function]按钮或双击COMMAND消息,输入成员函数的名称。如图。 (4)单击[OK]。选择新增加的成员函数,单击[Edit Code]按钮(或直接在函数名双击鼠标左键),就可以在此成员函数中添加一些代码。例如: void CMainFrame::OnScoreIn() { // TODO: Add your command handler code here AfxMessageBox(现在就输入成绩吗?); } (5)编译并运行。在应用程序的顶层菜单上,单击“成绩输入”菜单项或按Alt+S组合键,如图。 1菜单 1.2使用键盘快捷键 (1)先打开上例的项目工作区窗口中Accelerator的资源项,双击IDR_MAINFRAME,如图。 1菜单 (2)要建立一新的加速键,双击加速键列表的最下端的空行,如图,其中可设置的属性如表 (3)在上述对话框中,选择在Ex_Sdi示例中添加的“成绩输入”菜单项的ID号ID_SCORE_IN作为要联用的加速键的ID号,单击[Next Key Typed],按下Ctrl+1作为此加速键的键值。 1菜单 1.3菜单的编程控制 菜单的基本操作 (1)创建菜单 CMenu类的CreateMenu和CreatePopupMenu用来创建一个菜单或子菜单框架,原型如下: BOOL CreateMenu( ); // 产生一个空菜单 BOOL CreatePopupMenu( ); // 产生一个空的弹出式子菜单 (2)装入菜单 将菜单从资源装入应用程序中,需调用CMenu成员函数LoadMenu,或者用SetMenu对应用程序菜单进行重新设置。 BOOL LoadMenu( LPCTSTR lpszResourceName ); BOOL LoadMenu( UINT nIDResource ); (3)添加菜单项 菜单创建后,可调用AppendMenu或InsertMenu函数添加一些菜单项。AppendMenu是将菜单项添加在菜单的末尾处,InsertMenu在菜单的指定位置处插入菜单项,并将后面的菜单项依次下移。 BOOL AppendMenu( UINT nFlags, UINT nIDNewItem = 0,LPCTSTR lpszNewItem = NULL ); BOOL AppendMenu( UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp ); BOOL InsertMenu( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL ); BOOL InsertMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp ); 1菜单 需要注意的是: nFlags为MF_BYPOSITION时,nPosition表示新菜单项要插入的具体位置,为0时表示第一个菜单项,为 -1时,将菜单项添加菜单的末尾
您可能关注的文档
- 2016年浙江九年级语文试题卷概要.doc
- 2016年浙江大学远程教育商法离线作业概要.doc
- 2016年浙江文综高考试题政治部分(解析版)概要.doc
- 2016年浙江省,建筑领域现场专业人员网络继续教育,考试题及答案100分概要.doc
- 2016年浙江省丽水市中考语文试卷(解析版)概要.doc
- 2016年浙江省丽水市语文中考真题概要.doc
- 2016年浙江文综高考试题概要.doc
- 2016年浙江省宁波市镇海中学高三校模拟考语文试题卷概要.doc
- 5硝化反应讲述.ppt
- 2016年浙江省名校高三历史模拟试题重组测试03(中国近代)概要.doc
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)