chapter6—菜单工具栏和状态栏.pptVIP

  • 3
  • 0
  • 约3.59千字
  • 约 19页
  • 2017-04-04 发布于江苏
  • 举报
chapter6—菜单工具栏和状态栏

第10章 菜单、快捷键和字符串表 本章重点 菜单的使用 * * 用户与应用程序的交互通常是从菜单栏中选择命令或用键盘加速器的形式,因此,菜单和加速器的资源在VC++编程中是很重要的。 10.1 菜单简介 菜单一般存放在资源脚本中,在程序运行时才调用,一个菜单项一般有两个必要的部分,它们分别是字符串名如file和整数标识符,一般来说,菜单的标识符ID在资源的头文件(Resource.h)中定义,如: #define IDM_MENU1 129 其中,前缀IDM指明是菜单项,在菜单资源创建后,必须将它链接到类中,通过提供类方法来处理每个菜单项。 10.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 10.1.3 CMenu类 CMenu类提供了许多处理菜单和菜单项的方法,它们分别是构造方法、菜单操作方法、菜单项操作方法和虚拟方法。 构造方法是用来建立Windows菜单并在运行时将它们附加到CMenu对象上。 菜单操作方法中只有两个类方法用来处理菜单的顶层操作 DeleteMenu() TrackPopupMenu() 删除某个特定的菜单项(包括附属的级连菜单项) 在一个POINT结构所指定的位置显示一个快捷菜单 菜单项操 作特定的 CMenu类 方法 10.2菜单创建及其响应示例 10.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中增加了 一项资源,即一个菜单 10.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:在此处添加自己的命令句柄代码 //代码编写开始 OnOK();

文档评论(0)

1亿VIP精品文档

相关文档