点击或拖拽改变大小

Menu 类

X#
创建一个菜单。菜单由用户选择执行的项目组成;菜单项可以是字符串,位图或另一个菜单。
继承层次
Object
  VObject
    Menu
      SystemMenu

命名空间:  VO
程序集:  VOGUIClasses (在 VOGUIClasses.dll 中) 版本:2.22 GA
语法
 CLASS Menu INHERIT VObject
查看代码

Menu 类型公开以下成员。

构造函数
  名称说明
公共方法Menu
构造一个菜单。
Top
属性
  名称说明
公共属性Accelerator
与此菜单一起使用的加速表。
公共属性ToolBar
与菜单对应的工具栏。
Top
方法
  名称说明
公共方法AppendItem
在此菜单的末尾添加一个字符串。
公共方法CheckItem
在指定菜单项的左侧放置一个检查标记。
公共方法DeleteItem
从此菜单中删除一个项目,从内存中删除它。(要删除位图或字符串,请指定一个ID;要删除子菜单,请指定Menu对象。)
公共方法Destroy
提供一个方法来取消实例化 Menu 对象。
(重写 Destroy.)
公共方法DisableItem
禁用指定的菜单项(直到后续调用 Menu:EnableItem())。
公共方法EnableItem
启用先前禁用的菜单项。
公共方法Handle
返回菜单的句柄。
公共方法HyperLabel
返回附加到菜单项的超链接标签,如果没有,则返回NIL。
公共方法InsertItem
在指定菜单项之前插入一个新的菜单项。
公共方法MakeMenuRtol
反转菜单中菜单项的顺序。只有在使用国际化的双向版本的 Windows 时才需要这样做。
公共方法Name
返回存储在菜单命令的超链接标签中的名称的字符串,如果没有,则返回 NIL。
公共方法PostInit
实现窗口的自定义初始化代码。
公共方法PreInit
实现服务器的自定义初始化代码。
公共方法RegisterItem
注册此菜单项的超链接。
公共方法SetAutoUpdate
在菜单上的指定子菜单后附加一个部分。此部分会自动跟踪当前打开的MDI子窗口,并在子菜单上显示它们的名称。
公共方法ShowAsPopup
将菜单显示为本地弹出菜单。
公共方法UncheckItem
从菜单项中移除用户看到的复选标记。通常,您会在该项上的 MenuCommandEvent 响应中执行此操作。
公共方法UnregisterItem
取消注册此菜单项的超链接。
Top
字段
  名称说明
公共字段oCargo
Cargo slot.
(继承自 VObject。)
Top
备注
菜单在应用程序中提供了最高级别的用户控制。
在最基本的级别上,菜单是一系列在菜单栏中显示的项目(例如,字符串“OpenFile”,一个问号位图表示帮助等)。 当选择这些项目时,它们执行一个操作,例如,打开一个文件,退出应用程序或获取帮助。
菜单栏中的项目也可能包含另一个菜单,作为另一种类型的项目。 当创建一个子菜单时,通常会指定一个标题(这是在菜单栏中显示的文本)和属于该子菜单的项目集(当在菜单栏中激活标题时,这些项目会显示)。 例如,一个子菜单可能有标题“File”和项目名“Open”,“Save”和“Exit”。
像菜单一样,子菜单可以包含字符串,位图和其他菜单。使用子菜单可以使您拥有多维菜单。此外,就像任何菜单一样,它们可以从资源实体创建。
菜单上的每个项目都由一个唯一的ID标识。然后,您可以使用该ID在程序中引用该项目(例如,禁用或删除一个项目)。
菜单命令可以通过鼠标或加速键选择,并且可以根据需要添加,删除,插入和追加。
菜单上的项目可以被灰暗(或灰色)以表示它们被禁用,也可以被选中以表示它们被启用/选中。 您还可以在菜单上添加分隔符(分隔符是在子菜单的项目之间插入的单行,以将相似的命令分组在一起)。
通常,菜单会与定义快捷键(例如,Ctrl+S 表示文件保存)的加速表和提供常用菜单命令的工具栏相关联。 工具栏和加速键通常由菜单携带;将菜单分配给窗口通常也会自动分配工具栏和加速键。
X# 中的菜单生成以下事件—MenuInitEvent,MenuSelectEvent 和 MenuCommandEvent。它们被分派到拥有生成事件的菜单的窗口。
这些事件的事件处理程序方法如下:
Window:MenuInit() 在显示菜单之前调用。
Window:MenuSelect() 在突出显示菜单命令时调用。
当用户选择菜单命令以执行时,如果有匹配的方法,将调用菜单命令的名称的窗口方法。
如果没有匹配的方法,将调用 Window:MenuCommand()。菜单命令也会向上传播到窗口所有权层次结构。
有关如何使用命令事件的深入讨论,请参阅程序员指南。
在 Windows 中,菜单通常是在资源实体中创建的(您也可以使用 Menu 的 Append...或 Insert...方法动态构造菜单)。 例如,在 Windows 中,菜单可以在资源实体中创建如下:
X#
 1RESOURCE IDM_DEMO MENU
 2
 3BEGIN
 4    POPUP "&File"
 5
 6    BEGIN
 7        MENUITEM "&New", IDMI_NEW
 8        MENUITEM "&Open...", IDMI_OPEN
 9        MENUITEM "&Save", IDMI_SAVE
10        MENUITEM "Save &As...", IDMI_SAVEAS
11        MENUITEM SEPARATOR
12        MENUITEM "E&xit", IDMI_EXIT
13        MENUITEM "A&bout Demo...", IDMI_ABOUT
14    END
15END
通过使用菜单编辑器,构造菜单的最简单方法是。它生成了上面示例中的资源,以及用于实例化菜单的子类,加速表和工具栏。
参见