文档详情

面向对象与可视化程序设计第十一讲(菜单设计).pptx

发布:2025-05-05约4.58千字共10页下载文档
文本预览下载声明

第12章菜单设计1菜单一般存放在资源脚本中,在程序运行时才调用,一个菜单项一般有两个必要的部分,它们分别是字符串名如file和整数标识符,一般来说,菜单的标识符ID在资源的头文件(Resource.h)中定义,如:#defineIDM_MENU1129其中,前缀IDM指明是菜单项,在菜单资源创建后,必须将它链接到类中,通过提供类方法来处理每个菜单项。1菜单简介用户与应用程序的交互通常是从菜单栏中选择命令或用键盘加速器的形式,因此,菜单和加速器的资源在VC++编程中是很重要的。

12.1.2菜单结构2菜单模板用一种很简单的结构在资源脚本文件中定义,下面就是一个菜单资源模板IDR_MENU1MENUDISCARDABLEBEGINPOPUPFile //菜单名BEGIN //菜单File开始MENUITEMVoice,IDC_VOICE_MENU//菜单项MENUITEMShow,IDC_SHOW_MENU//菜单项MENUITEMSEPARATOR //分隔线MENUITEMExit,IDC_EXIT_MENU//菜单项END //菜单File结束POPUPHelp //定义Help菜单BEGIN MENUITEMAbout,IDC_ABOUT_MENU//菜单项END //菜单Help定义结束END

12.1.3CMenu类3CMenu类提供了许多处理菜单和菜单项的方法,它们分别是构造方法、菜单操作方法、菜单项操作方法和虚拟方法。01构造方法是用来建立Windows菜单并在运行时将它们附加到CMenu对象上,02

菜单操作方法中只有两个类方法用来处理菜单的顶层操作4DeleteMenu()TrackPopupMenu()删除某个特定的菜单项(包括附属的级连菜单项)在一个POINT结构所指定的位置显示一个快捷菜单菜单项操作特定的CMenu类方法

12.2菜单创建及其响应示例52.1应用程序的主窗口布局主窗口标题为ApplicationofMenu。在主窗口中有三个按钮,分别为Voice、Show和Exit单击File菜单,出现一个下拉菜单,单击Vioce选项,可听到PC机喇叭发出蜂鸣声。单击Show,则显示一个信息“ThisisaSampleofaddingmenu”,同样,若在窗口中单击相应的按钮,也会有同样的效果

应用程序的可视化编程部分61对话框中按钮的设计对象 ID Caption 命令按钮 IDC_VOICE_BUTTON Voice 命令按钮 IDC_SHOW_BUTTON Show 命令按钮 IDC_EXTT_BUTTON Exit 2对话框中的菜单的设计(a)选择Insert菜单中的Resource命令,显示InsertResource对话框(b)选择Menu项使其高亮化(c)单击New按钮,在资源文件Menu.rc中增加了一项资源,即一个菜单

12.2.5给菜单连接一个类7菜单实际上是一个对象,在具体的编程中我们必须给它连接一个类。因为这个菜单是对话框中的一个资源,它将调用对话框中一些成员,所以把这个菜单与对话框的派生类CMenuDlg相连接。

连接菜单和应用程序的主窗口8菜单IDR_MENU1连接了一个类,这只是表示该菜单可以调用程序中这个类的成员函数和成员变量,此时在应用程序的主窗口中仍然没有显示菜单,这是因为菜单还没有和应用程序主窗口连接起来。下面介绍菜单与应用程序的主窗口对话框(即IDD_MENU_DIALOG)的连接。(1)在Menu的工作区的ResourceView选项卡中,双击Dialog文件夹中的IDD_MENU_DIALOG,此时弹出IDD_MENU_DIALOG对话框。(2)在对话框的任何一个空白域,单击鼠标右键,然后在弹出的快捷菜单中选择Properties命令,在对话框中的Menu组合框中选择IDD_MENU1

应用程序的代码编程9给菜单File的Exit选项编写代码01voidCMenuDlg::OnExitMenu(){//TODO:在此处添加自己的命令句柄代码//代码编写开始OnOK();//代码编写结束}02

2给File菜单的Voice项连接代码10voidCMenuDlg::OnVioceMenu(){//TODO:在此处添加自己的命令句柄代码//代码编写开始MessageBeep((WORD

显示全部
相似文档