- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象与可视化程序设计第11讲(菜单设计)
第12章 菜单设计 Huang Weitong * * 第 12章 菜单设计 用户与应用程序的交互通常是从菜单栏中选择命令或用键盘加速器的形式,因此,菜单和加速器的资源在VC++编程中是很重要的。 12.1 菜单简介 菜单一般存放在资源脚本中,在程序运行时才调用,一个菜单项一般有两个必要的部分,它们分别是字符串名如file和整数标识符,一般来说,菜单的标识符ID在资源的头文件(Resource.h)中定义,如: #define IDM_MENU1 129 其中,前缀IDM指明是菜单项,在菜单资源创建后,必须将它链接到类中,通过提供类方法来处理每个菜单项。 12.1.2 菜单结构 菜单模板用一种很简单的结构在资源脚本文件中定义,下面就是一个菜单资源模板 IDR_MENU1 MENU DISCARDABLE BEGIN POPUP File //菜单名 BEGIN //菜单File开始 MENUITEM Voice, IDC_VOICE_MENU //菜单项 MENUITEM Show, IDC_SHOW_MENU //菜单项 MENUITEM SEPARATOR //分隔线 MENUITEM Exit, IDC_EXIT_MENU //菜单项 END //菜单File结束 POPUP Help //定义Help菜单 BEGIN MENUITEM About, IDC_ABOUT_MENU //菜单项 END //菜单Help定义结束 END 12.1.3 CMenu类 CMenu类提供了许多处理菜单和菜单项的方法,它们分别是构造方法、菜单操作方法、菜单项操作方法和虚拟方法。 构造方法是用来建立Windows菜单并在运行时将它们附加到CMenu对象上, 菜单操作方法中只有两个类方法用来处理菜单的顶层操作 DeleteMenu() TrackPopupMenu() 删除某个特定的菜单项(包括附属的级连菜单项) 在一个POINT结构所指定的位置显示一个快捷菜单 菜单项操 作特定的 CMenu类 方法 12.2菜单创建及其响应示例 12.2.1应用程序的主窗口布局 主窗口标题为Application of Menu。在主窗口中有三个按钮,分别为Voice、Show和Exit 单击File菜单,出现一个下拉菜单,单击Vioce选项,可听到PC机喇叭发出蜂鸣声。单击Show,则显示一个信息“This is a Sample of adding menu”,同样,若在窗口中单击相应的按钮,也会有同样的效果 应用程序的可视化编程部分 1 对话框中按钮的设计 对 象 ID Caption 命令按钮 IDC_VOICE_BUTTON Voice 命令按钮 IDC_SHOW_BUTTON Show 命令按钮 IDC_EXTT_BUTTON Exit 2 对话框中的菜单的设计 (a)选择Insert菜单 中的Resource命 令,显示Insert Resource对话框 (b) 选择Menu项 使其高亮化 (c)单击New按钮,在资 源文件Menu.rc中增加了 一项资源,即一个菜单 12.2.5 给菜单连接一个类 菜单实际上是一个对象,在具体的编程中我们必须给它连接一个类。因为这个菜单是对话框中的一个资源,它将调用对话框中一些成员,所以把这个菜单与对话框的派生类CMenuDlg相连接。 连接菜单和应用程序的主窗口 菜单IDR_MENU1 连接了一个类,这只是表示该菜单可以调用程序中这个类的成员函数和成员变量,此时在应用程序的主窗口中仍然没有显示菜单,这是因为菜单还没有和应用程序主窗口连接起来。 下面介绍菜单与应用程序的主窗口对话框(即IDD_MENU_DIALOG)的连接。 (1)在Menu的工作区的Resource View选项卡中,双击Dialog文件夹中的IDD_MENU_DIALOG,此时弹出IDD_MENU_DIALOG对话框。 (2)在对话框的任何一个空白域,单击鼠标右键,然后在弹出的快捷菜单中选择Properties命令,在对话框中的Menu组合框中选择IDD_MENU1 应用程序的代码编程 1. 给菜单File的Exit选项编写代码 void CMenuDlg::OnExitMenu() { //TODO:在此处添加自己的命令句柄代码 //代码编写开始
文档评论(0)