创建菜单
和菜单组件一样, C++ Builder会把菜单项名加到窗体类型声明中,同时这些菜单项名出现在组件列表中。
3. 新增、插入和删除菜单项
下列过程描述如何完成创建菜单结构的基本任务。每个过程都假定有一个打开的菜单设计器窗口。
若要在设计时加入菜单项:
1) 选择需在何处创建菜单项。如果是初次打开菜单设计器,则菜单栏的第一个位置将被选择。
2) 开始键入Caption属性。或通过使用光标在对象观察器中选择并首先键入Name属性值。在这种情况下,需要重选Caption属性并键入值。
3) 按回车键(E n t e r)。下一个菜单项的放置位置被选中。若首先键入Caption属性值,使用方向键返回刚才建立的菜单项。可以看到C++ Builder以Caption属性值为基础派生出了Name属性值。
4) 继续为需创建的各个新的菜单项键入Caption属性及Name属性,或按Esc键返回菜单栏。可使用方向键从菜单栏进入菜单中,并在菜单列表项之间移动;按回车键完成动作。按Esc键可返回菜单栏。
若要插入新的空白菜单项:
1) 将光标放在一菜单项上。
2) 按下Ins键。
菜单项将插入菜单栏中被选择项的左边,并在菜单项列表中显示在被选择项之上。
若要删除菜单项或命令:
1) 将光标放在要删除的菜单项上。
2) 按下D e l键。
注意不能删除最后加入菜单项列表的菜单项以下的缺省位置,或菜单栏最后一项后面的位置。这些位置在运行时并不出现菜单中。
4. 加入分隔条
分隔条会在菜单项之间插入一条分隔线。可使用分隔条将菜单列表分类,或只提供视觉上的分隔。
若要将菜单项加入分隔条,可在Caption属性值中键入连字符(-)。
5. 指定加速键和快捷键
加速键可使用户从键盘通过压下Alt +适当的字符键来访问菜单命令,这在代码中通过前缀字符&表示。前缀字符&之后的字符在菜单出现时带有下划线。
C++ Builder自动检查重复的加速键并在运行时做出调整。确保运行时动态创建的菜单不包含重复的加速键,并且所有菜单项都有一加速键。通过将菜单项的AutoHotkeys属性设置为maManual可关掉这种自动检验。
若要指定一加速键:
在适当的字符前加一前缀字符&。
例如,欲将Save菜单命令中的S做为加速键,可键入& Save。
键盘快捷键可使用户不使用菜单而直接通过快捷键的组合键入来完成动作。
若要指定键盘快捷键:
使用对象观察器设置ShortCut属性,或从下拉列表中选择一组合键。
这一列表只列出有效的组合键的一部分。
加入快捷键时,会出现在该菜单项标题的旁边。
警告快捷键不像加速键可以自动检查重复键。必须自行确保其唯一性。
6. 创建子菜单
许多应用程序菜单包含下拉列表,它出现在菜单项旁边用于提供相关的附加命令。这些列表用菜单项右边的箭头来指示(如图4-6所示)。C++ Builder支持在菜单中加入多层这样的子菜单。
以这种方式来组织菜单结构可节省垂直屏幕空间。不过,在界面设计时只使用到二或三层子菜单可达到最佳的设计效果(对弹出式菜单而言,最好只用一个子菜单)。