? 对Popup属性为True的(下拉式和快捷式)弹出菜单不能设置ID。 ? 键入提示串:在属性窗口的Prompt(提示)栏中键入与菜单项有关的信息,形为
“状态条中显示的长文本串\\n工具条按钮旁浮动显示的短文本串”,中间的“\\n”为换行(New line)转移字符。如“学生张三的信息\\n张三”。
例如,Student程序在“姓名”菜单中添加了“张三”、“李四”和“王五”3个菜单项,参见表3-1。在“成绩”菜单中添加了“数学”、“英语”和“计算机”3个菜单项,参见表3-2。
表3-1 姓名菜单项的属性值
菜单项 属性 张三 李四 王五 Caption 张三(&Z)…\\tShift+Z 李四(&L)…\\tShift+L ID ID_NAME_ZS ID_NAME_LS Prompt 学生张三的信息\\n张三 学生李四的信息\\n李四 王五(&W)…\\tShift+W ID_NAME_WW 学生王五的信息\\n王五 表3-2 成绩菜单项的属性值
菜单项 属性 数学 英语 计算机 Caption ID Prompt 数学(&M)… ID_SCORE_MATH 数学成绩\\n数学 英语(&E) ID_SCORE_ENG 英语成绩\\n英语 计算机(&C) ID_SCORE_COMP 计算机成绩\\n计算机 ? 在菜单条中增加菜单项:可在菜单条中添加顶层菜单项,方法与在菜单条中添加顶
层菜单类似,只是必须将其Popup属性值修改为“False”。而且还需要像添加普通菜单项那样,设置ID、提示串和快捷键等。但是不能在顶层菜单项的标题属性中加入快捷键显示串,因为在运行时,它会挤占菜单项名的位置。例如,Student例中的“测试”就是菜单条中的顶层菜单项,其标题串为“测试(&T) ”(没有快捷键指示串)、ID值为“ID_TEST”、提示串为“测试顶层菜单项\\n测试”、快捷键为“Ctrl+T”。
3.菜单资源文本
Student例所对应的菜单资源文本为(位于资源脚本文件Student.rc中的IDR_MAINFRAME菜单资源内的“视图”和“帮助”弹出菜单之间):
16
POPUP \姓名(&N)\ BEGIN
MENUITEM \张三(&Z)...\\tShift+Z\ MENUITEM \李四(&L)...\\tShift+L\ MENUITEM \王五(&W)...\\tShift+W\ END
POPUP \成绩(&S)\ BEGIN
MENUITEM \数学(&M)...\ MENUITEM \英语(&E)\
ID_SCORE_MATH ID_SCORE_ENG ID_SCORE_COMP
ID_NAME_ZS ID_NAME_LS ID_NAME_WW
MENUITEM \计算机(&C)\ END
MENUITEM \测试(&T)\
ID_TEST
对应的ID符号常量似(位于资源头文件Resource.h中):
#define ID_NAME_ZS #define ID_NAME_LS #define ID_NAME_WW
32771 32772 32773 32774 32775 32776 32777
#define ID_SCORE_MATH #define ID_SCORE_ENG
#define ID_SCORE_COMP #define ID_TEST
对应的提示串资源为(位于文件Student.rc中串表部分):
STRINGTABLE BEGIN
ID_NAME_ZS
\学生张三的信息\\n张三\
ID_NAME_LS \学生李四的信息\\n李四\ ID_NAME_WW \学生王五的信息\\n王五\ ID_SCORE_MATH \数学成绩\\n数学\ ID_SCORE_ENG \英语成绩\\n英语\ ID_SCORE_COMP \计算机成绩\\n计算机\
17
ID_TEST \测试顶层菜单项\\n测试\END
4.添加分隔条
分隔条(separator)用于分隔菜单中的菜单项组,添加分隔条的方法有两种: ? 可在菜单中需要的位置添加或插入空白菜单项,在属性窗口的Separator项中设置
属性值为True(默认为False)。
? 或在后一菜单项上按鼠标右键,在弹出的快捷菜单中选择“插入分隔符”菜单项。
5.添加子菜单
选中相应菜单项,就可用其右边的“请再此处键入”虚框,来加入子菜单的新菜单项。添加了子菜单项后,会在该菜单项右边自动出现(代表该菜单项有子菜单的)三角形标识。其他操作与在菜单中添加菜单项的相同。
6.修改菜单属性
可在属性窗口中,通过修改各种设置与选项来修改菜单[项]的属性。
7.删除菜单
选中菜单[项],按Delete/Del键就可以删除它。也可以在某个菜单项上按鼠标右键,在弹出的快捷菜单中选择“删除”菜单项。
3.2.4 联接快捷键
在菜单项标题中键入的快捷键指示串,只是用于显示给用户观看,并没有真正设置快捷键。为了使快捷键起作用,还必须打开快捷键编辑器窗口和对应的属性窗口来添加和修改快捷键设置,具体方法在下面介绍。
1.快捷键编辑器
展开VC项目工作区“资源视图”页中的资源列表中的“Accelerator”(加速键/快捷键)
18
项,双击里面的“ID_MAINFRAME”项(在Student例中对应的是“Student\\Student.rc\\ Accelerator\\ID_MAINFRAME”项),则会打开快捷键编辑器窗口(位于VS窗口的中部)和对应的属性窗口(位于VS窗口的右部),参见图3-11。
图3-11 快捷键编辑器窗口和对应的属性窗口
2.设置快捷键的步骤
修改或添加快捷键的具体步骤:
1. 选中快捷键编辑器窗口中的某一已有条目或最下面的空条目(空白矩形框)。 2. 设置ID
? 单击快捷键编辑器窗口中该条目左端的“ID”栏。 ? 或选中快捷键属性窗口最底端的“ID”属性项的右栏。
则会出现带下拉列表的文本输入组合框,在其中键入或选择某一已有菜单项的ID,参见图3-12。
19
图3-12 选择快捷键ID
3. 设置修饰符:修饰符可以为空,也可以是Alt、Ctrl和Shift等键的任意组合,默认
为“无”。
? 单击快捷键编辑器窗口中该条目的“修饰符”栏,可在出现的下拉列表中选择
所需要的修饰符的组合,参见图3-13 a)。
? 或修改快捷键属性窗口中“行为”栏的Alt、Ctrl和Shift属性项的取值为True
或False,参见图3-13 b)。
a)
b)
图3-13 设置快捷键的修饰符
4. 设置键值
? 单击快捷键编辑器窗口中该条目的“键”栏。
? 或选中快捷键属性窗口中行为栏的“Key”属性项的右栏。
可在其中直接键入可打印字符(如大小写英文字母和数字等),也可以从下拉列表中选择所需要的虚拟键,默认为回车键“VK_RETURN”。常用的虚拟键见表3-3。
20