- 1、本文档共77页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7讲_用户交互对象——菜单、工具栏和状态栏
第七讲 用户交互对象 —菜单、工具栏和状态栏;教学要点;本章内容;从MFC示例开始;;;;;;;用类向导生成菜单消息响应函数;;;;;;;;;;;;7.1 菜单 ;7.1.1 菜单的组成与分类 ;7.1.2 创建菜单资源 ;*; 2.增加一个主菜单项“图形”
选择“帮助”菜单,然后按“Insert”键将会在“查看”与“帮助”菜单项之间加入一个空菜单项。双击该菜单项,弹出下图所示的主菜单属性对话框,并在其中的“Caption”编辑框中输入主菜单的标题为“图形”。这样在应用程序的主框架中就增加了一个主菜单项“图形”。 ; 3、增加主菜单“图形”的子菜单项
用鼠标双击“图形”菜单下的空白菜单项,弹出下图所示的子菜单属性设置对话框,在ID组合框中输入菜单的资源ID为ID_GRAPH_PIE,在“Caption”编辑框中输入“饼图”,在“Prompt”编辑框中输入菜单项提示信息为“在客户区画一个饼图\n画饼图”。
; 用同样的方法再添加一个菜单项,其中菜单资源ID为ID_GRAPH_CHORD,“Caption”的内容为“弦图”,“Prompt”中的内容为“在客户区画一个弦图\n画弦图”。 ; 4.增加上下文菜单
上下文菜单必须要有自己的资源ID,在Workspace窗口中选择ResourceView选项卡,打开MenuExam工程的资源列表,鼠标右键单击“Menu”项,在弹出菜单中选择“Insert Menu”,完后将该菜单资源的ID修改为IDR_POPUP_MENU。
用同步骤3的方法在IDR_POPUP_MENU资源中添加主菜单“上下文菜单”。; 7.1.3 菜单消息 ;2.UPDATE_COMMAND_UI消息
UPDATE_COMMAND_UI是MFC所特有的,如果你想根据应用程序的当前状态激活或者使菜单项无效,或者在程序运行的某一时刻反映菜单项的可用性,该条消息就要处理。消息映射采用以下形式:
ON_UPDATE_COMMAND_UI(MenuID, ClassMethod)
3.上下文菜单消息WM_CONTEXTMENU
在Windows系统下,随处可见上下文菜单,只要你是在不同程序的不同操作区域内,按下鼠标右键,都会出来一个与当前操作上下文有关的菜单,它就是上下文菜单。当用户按下鼠标右键时,就会发出上下文菜单消息WM_CONTEXTMENU。该消息的消息映射宏为:
ON_WM_CONTEXTMENU()
; 7.1.4 菜单消息的响应;菜单消息的响应;菜单消息的响应;菜单消息的响应; 3.添加WM_CONTEXTMENU上下文菜单消息响应函数
(1)打开MenuExam工程,选择View|ClassWizard命令打开类向导对话框,单击“ClassName”列表框中的下拉按钮,在其中选择“CMenuExamView”项,在“Object IDs”列表框中选择“CMenuExamView”,在“Message”列表中选择“WM_CONTEXTMENU”项,然后单击“Add Fucntion”按钮弹出“Add Member Function”对话框,采用默认函数名OnContextMenu,单击“OK”按钮。
;菜单消息的响应;7.1.5 为菜单增加快捷键和加速键;为菜单增加快捷键和加速键;7.2 工具栏 ;7.2.1 工具栏简介 ;7.2.2 一个使用工具栏的应用程序 ;*;*;*;*;*;7.2.3 创建工具栏资源模板 ;7.2.4 工具栏类CToolBar ;;7.2.5 应用程序框架中创建工具栏对象 ;;7.2.6 工具栏的消息处理机制 ;7.3 状态栏 ; 7.3.1 状态栏简介 ;7.3.1状态栏 ;7.3.2 一个使用状态栏的应用程序;*;*;*;*;7.3.3 状态栏类CStatuslBar ;;;7.3.4 在应用程序框架中创建状态栏对象 ;if(!m_wndStatusBar.Create(this)||!m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT))){
TRACE0(Failed to create status bar\n); eturn -1; }
上述代码的主要功能是调用状态栏对象m_wndStatusBar的成员函数.Create()创建该对象,并且调用状态栏类的成员函数SetIndicators(
您可能关注的文档
- 第5讲:网上支付.ppt
- 第5课中华文化与民族精神复习必威体育精装版版.ppt
- 第5课我们的智慧.ppt
- 第5课挫折面前也从容.ppt
- 第5课1在职业道德修养中提升职业境界.ppt
- BS结构应用程序相关的技术讲坐.ppt
- 第5课:企业和劳动者(教材分析).ppt
- 第5课如何上传一个成功的宝贝.pptx
- 第5部分汇编语言程序开发工具.ppt
- 第5课第1框中华文化.ppt
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)