当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

实例编程:创建C++ Builder菜单

    创建菜单


    可将每个要包含在应用程序中的菜单组件加到一个或多个窗体中。可以完全从头开始去创建每个菜单,或从预定义的菜单模板开始。
本节讨论设计时创建菜单的基础。

    1.命名菜单

    和其他所有组件一样,将一个菜单组件加到窗体中, C++ Builder赋给它一个缺省名,例如MainMenu1。可根据Object Pascal命名规则给该菜单一个更有意义的名字。
    C++ Builder把菜单名加到窗体类型声明中,同时该菜单名出现在组件列表中。

    2.命名菜单项

    和菜单组件相反,在将菜单项加入窗体时需要显式地给菜单项命名。这有两种方式:
    · 直接在name属性中键入值。
    · 先在Caption属性中键入值,然后让C++ Builder由Caption属性派生出name属性值。
    例如,如果将Caption属性设为File, C++ Builder指定菜单项name属性为F i l e 1。若你在填充Caption属性之前填写了name属性, C++ Builder将在填充C a p t i o n属性之前将其值保持为空。
    注意若填充Caption属性时使用了无效的C + +标识符, C++ Builder会相应地修改name属性。例如,如果希望标题以数字开始, C++ Builder会在数字前冠以字符以派生name属性。
    表4 - 1举出了这样的一些例子,假定表中所有的菜单项出现在相同的菜单栏中。

创建C++ Builder菜单(图一)



    和菜单组件一样, 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支持在菜单中加入多层这样的子菜单。
    以这种方式来组织菜单结构可节省垂直屏幕空间。不过,在界面设计时只使用到二或三层子菜单可达到最佳的设计效果(对弹出式菜单而言,最好只用一个子菜单)。

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接