第3章 菜单、工具栏和状态栏.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 第3章 菜单、工具栏和状态栏 —— 设计实用程序界面,增加程序的亲活力 教学内容 §3.1 菜单 §3.2 工具栏的设计和使用 §3.3 状态栏的设计与使用 §3.4 综合实例 §3.5 小结 思考与练习 §3.1 菜单 3.1.1 Windows的菜单 菜单主要由上层水平菜单和与其关联的弹出菜单组成,当用户选择某个水平列表菜单项后,与其相关联的菜单会随之弹出,用户可以在选择执行其中的菜单命令。通常 ,弹出菜单由多个菜单项组成,这些菜单项可以分为三类:(见下图) (1)直接关联某个菜单命令,执行某个相应功能。 (2)弹出一个相关联的对话框,通常这种菜单项后跟随有省略号。 (3)弹出一个相关联的子菜单,这种菜单项后用一个向右的箭头来表示。 §3.1 菜单 3.1.2 用编辑器设计菜单 1、编辑菜单 在利用应用程序向导创建单文档应用程序时,向导会自动生成标准的菜单资源IDR_MAINFRAME。该菜单资源定义了一组常用的菜单命令,用户可以根据需要来编辑该菜单资源,从而创建出自己的菜单系统。编辑菜单资源的步骤如下: (1)打开菜单资源编辑器 菜单的空位置 §3.1 菜单 3.1.2 用编辑器设计菜单 1、编辑菜单 (2)建立顶层菜单 在图3-2中,单击菜单条的新条目框【请在此处输入】,输入新菜单的名称,如“我的菜单”,然后按回车,就可以在指定位置建立一个顶层菜单。 (3)设置菜单项属性: 在菜单条属性窗口中编辑菜单条属性,如图3-3所示。在属性窗口中,用户可以定义菜单的文本内容和资源ID号。虽然,ID号的定义是随意的,但最好按易于记忆的原则来确定。菜单属性窗口中主要属性的含义如表3-1所示。 图3-3 菜单属性窗口 §3.1 菜单 3.1.2 用编辑器设计菜单 1、编辑菜单 光标移至该菜单项时状态栏显示的文本 Prompt 选中该菜单项后就退出其所在菜单 Break Help菜单,被放在菜单的最右端 Help 该菜单项变灰显示,被禁止 Grayed 菜单项是否被激活 Enabled 该菜单项有一个弹出式子菜单 Popup 表示该菜单项被选中时显示一个标志 Checked 表示该菜单项是一条分隔线 Separator 表示该菜单项显示的文本 Caption 表示该菜单项的ID值 ID 含义 选项 §3.1 菜单 3.1.2 用编辑器设计菜单 2、建立菜单处理函数 (1)菜单消息 WM_COMMAND为菜单命令消息,当选择菜单项或工具栏按钮或激活了加速键会发出命令消息,MFC依据一定的消息传递途径将消息传递给相应的处理函数进行处理,如果在消息传递途径的消息映射表中找不到相应的处理函数,该菜单项或按钮会被禁止使用。 UPDATE_COMMAND_UI是菜单更新消息,处理菜单状态的动态变化。如希望根据程序的执行状态,激活或禁用某些菜单项,设置选中标记,或更改菜单项的文字等,就要定义这一消息处理函数。 §3.1 菜单 3.1.2 用编辑器设计菜单 2、建立菜单处理函数 (2) 编写菜单消息处理函数 在编写消息处理函数时,右击该菜单项,在弹出的快捷菜单中选择“添加事件处理程序向导”,打开“添加事件处理程序向导”对话框,如图3-4所示。 §3.1 菜单 3.1.3 定义菜单项的加速键 §3.1 菜单 3.1.4 菜单创建示例程序 1、建立应用程序MenuExample 2、打开菜单资源编辑器,添加菜单资源 3、编写菜单处理函数 4、给菜单添加快捷键 5、给菜单添加界面更新消息响应函数,当某个菜单被选中后,在该菜单项的前面加上选中标记。 §3.1 菜单 3.1.5 动态菜单设计 1、菜单的基本操作 (1)创建菜单 CMenu类的CreateMenu和CreatePopupMenu分别用来创建一个菜单或子菜单框架 (2)装入菜单资源 将菜单资源装入应用程序中,需要调用CMenu成员函数LoadMenu()。 (3)添加菜单项 当菜单创建后,用户可以调用AppendMenu或者InsertMenu函数来添加一些菜单项。 §3.1 菜单 3.1.5 动态菜单设计 2、动态菜单设计示例 要添加动态菜单,首先要通过全局函数AfxGetMainWnd()得到主窗口指针,再通过该指针调用GetMenu()函数获得指向该顶层菜单的指针,然后通过GetSubMenu(),由它的参数为序号确定哪个顶层菜单项将显示动态菜单。 注意:主菜单项的编号是0为初始值从左到右编排。另外,还需要编写函数,以便接受动态菜单产生变化的命令和动态控制菜单项的状态。 §3.1 菜单 3.1.6 快捷菜单的实现 快捷菜单是一种浮动的弹出式菜单,它是一种新的用户界面设计风格。当用户在某处按下鼠标

文档评论(0)

yyh892289 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档