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

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

ID:49376378

大小:227.00 KB

页数:19页

时间:2020-02-05

chapter6—菜单工具栏和状态栏.ppt_第1页
chapter6—菜单工具栏和状态栏.ppt_第2页
chapter6—菜单工具栏和状态栏.ppt_第3页
chapter6—菜单工具栏和状态栏.ppt_第4页
chapter6—菜单工具栏和状态栏.ppt_第5页
资源描述:

《chapter6—菜单工具栏和状态栏.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、用一种很简单的结构在资源脚本文件中定义,下面就是一个菜单资源模板IDR_MENU1MENUDISCARDABLEBEGINPOPUP"&File"//菜单名BEGIN//菜单File开始MENUITEM"&Voice",IDC_VOICE_MENU//菜单项MENUITEM"&Show",IDC_SHOW_MENU//菜单项MENUITEMSEPARATOR//分隔线MENUITEM"&Exit",IDC_EXIT_MENU//菜单项END//菜单File结束POPUP"&Help"//定义Help菜单BEGINMENUITEM"&Abou

3、t",IDC_ABOUT_MENU//菜单项END//菜单Help定义结束END310.1.3CMenu类CMenu类提供了许多处理菜单和菜单项的方法,它们分别是构造方法、菜单操作方法、菜单项操作方法和虚拟方法。构造方法是用来建立Windows菜单并在运行时将它们附加到CMenu对象上。4菜单操作方法中只有两个类方法用来处理菜单的顶层操作DeleteMenu()TrackPopupMenu()删除某个特定的菜单项(包括附属的级连菜单项)在一个POINT结构所指定的位置显示一个快捷菜单菜单项操作特定的CMenu类方法510.2菜单创建及其响应

4、示例10.2.1应用程序的主窗口布局主窗口标题为ApplicationofMenu。在主窗口中有三个按钮,分别为Voice、Show和Exit单击File菜单,出现一个下拉菜单,单击Vioce选项,可听到PC机喇叭发出蜂鸣声。单击Show,则显示一个信息“ThisisaSampleofaddingmenu”,同样,若在窗口中单击相应的按钮,也会有同样的效果6应用程序的可视化编程部分1对话框中按钮的设计对象IDCaption命令按钮IDC_VOICE_BUTTON&Voice命令按钮IDC_SHOW_BUTTON&Show命令按钮IDC_EX

5、TT_BUTTON&Exit2对话框中的菜单的设计(a)选择Insert菜单中的Resource命令,显示InsertResource对话框(b)选择Menu项使其高亮化(c)单击New按钮,在资源文件Menu.rc中增加了一项资源,即一个菜单710.2.5给菜单连接一个类菜单实际上是一个对象,在具体的编程中我们必须给它连接一个类。因为这个菜单是对话框中的一个资源,它将调用对话框中一些成员,所以把这个菜单与对话框的派生类CMenuDlg相连接。8连接菜单和应用程序的主窗口菜单IDR_MENU1连接了一个类,这只是表示该菜单可以调用程序中这个

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

7、it选项编写代码voidCMenuDlg::OnExitMenu(){//TODO:在此处添加自己的命令句柄代码//代码编写开始OnOK();//代码编写结束}102给File菜单的Voice项连接代码voidCMenuDlg::OnVioceMenu(){//TODO:在此处添加自己的命令句柄代码//代码编写开始MessageBeep((WORD)-1);DWORDiTime=GetCurrentTime()while(GetCurrentTime()

8、essageBeep()函数使计算机的喇叭发出蜂鸣声。然后间隔500毫秒,再发出一声蜂鸣。113给File菜单的Show项连接代码voidCMenuDlg::OnShowMenu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。