面向对象与可视化程序设计 --Visual C++ 编程主讲教师:唐龙教授(计算机科学与技术系)黄维通博士(计算机与信息管理中心)清华大学2001年2月
11/10/2017
1
第十二章菜单类及其应用
11/10/2017
2
内容提要
菜单类简介
菜单类控件的应用
11/10/2017
3
§.菜单类简介
11/10/2017
4
,,
菜单是用户与应用程序交互的最常用手段。
菜单存放在资源脚本中,在程序运行时调用。
一个菜单项必须包含两部分:
菜单项名称——字符串构成,例如:file
菜单项标识符ID——整数值,可用整数常量表示
,前缀IDM指明是菜单项,如:
#define IDM_MENU1 129
在菜单资源,必须链接到类中,通过提供类方法来处理每个菜单项。
11/10/2017
5
IDR_MENU1 MENU DISCARDABLE
BEGIN
POPUP "&File" //定义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 //菜单Help定义开始
MENUITEM "&About", IDC_ABOUT_MENU //菜单项
END //菜单Help定义结束
END
2. 菜单结构
菜单模板用一种很简单的结构在资源脚本文件中定义,一个菜单资源模板实例如下:
11/10/2017
6
3. CMenu类
CMenu类是Cobject类直接派生的。
CMenu类提供了许多处理菜单和菜单项的方法:
构造方法;
菜单操作方法;
菜单项操作方法;
虚拟方法。
11/10/2017
7
3. CMenu类(续)
构造方法用于建立Windows菜单,并在运行时将它们附加到CMenu对象上,
11/10/2017
8
3. CMenu类(续)
菜单操作方法用于处理菜单的顶层操作,只有两个方法:
DeleteMenu()删除指定的菜单项(包括附属的级连菜单项);
TrackPopupMenu()在一个指定的位置显示一个快捷菜单。
11/10/2017
9
3. CMenu类(续)
菜单项操作方法有多种用于处理指定菜单项操作
11/10/2017
10
第十二章 菜单类及其应用 来自淘豆网m.daumloan.com转载请标明出处.