菜单控件类型
本主题提供有关 菜单 控件类型的Microsoft UI 自动化支持的信息。
菜单控件允许层次结构组织与命令和事件处理程序关联的元素。 在典型的Microsoft Windows 应用程序中,菜单栏包含多个菜单按钮(例如 文件、编辑和 窗口),每个菜单按钮显示一个菜单。 菜单包含菜单项的集合(如 新建、打开和 关闭),该集合可以展开以显示其他菜单项或单击时执行特定作。
以下部分定义 菜单 控件类型的所需 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成 UI 自动化对控件类型和控件模式的支持的所有菜单控件。
本主题包含以下部分。
典型树结构
下表描述了与菜单控件相关的 UI 自动化树的典型控件和内容视图,并描述了每个视图中可包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
|
|
菜单控件始终显示在控件视图和 UI 自动化树的内容视图中。 菜单控件应显示在其信息引用的控件下。 UI 自动化客户端可以侦听 UIA_MenuOpenedEventId,以确保它们一致地获取菜单控件传达的信息。 上下文菜单控件是一种特殊情况。 它们可能显示为桌面或顶级应用程序窗口的子级。
菜单控件可以包含其结构中的其他控件,例如编辑控件和组合框。 这些附加控件对应于控件和内容视图中上表中列出的“其他控件”。
相关属性
下表列出了其值或定义与 菜单 控件类型特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅 从 UI 自动化元素检索属性。
UI 自动化属性 | 价值 | 笔记 |
---|---|---|
UIA_ControlTypePropertyId | 菜单 | |
UIA_IsContentElementPropertyId | 真 | 菜单控件始终包含在 UI 自动化树的内容视图中。 |
UIA_IsControlElementPropertyId | 真 | 菜单控件始终包含在 UI 自动化树的控件视图中。 |
UIA_LabeledByPropertyId | 零 | 没有使用典型菜单控件的标签。 |
UIA_NamePropertyId | 请参阅备注。 | 菜单控件不需要设置 Name 属性,也可以具有与关联控件相同的名称,例如打开子菜单的菜单项。 |
所需的控件模式
菜单控件类型没有必需的控件模式。
必需事件
菜单控件在屏幕上显示时必须引发 UIA_MenuOpenedEventId 事件。 UIA_MenuOpenedEventId 事件将包含控件的文本。 当菜单从屏幕中消失时,必须引发 UIA_MenuClosedEventId 事件。
下表列出了菜单控件需要支持的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述。
UI 自动化事件 | 笔记 |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId 属性更改事件。 | |
UIA_IsEnabledPropertyId 属性更改事件。 | 如果控件支持 IsEnabled 属性,则必须支持此事件。 |
UIA_IsOffscreenPropertyId 属性更改事件。 | 如果控件支持 IsOffscreen 属性,则必须支持此事件。 |
UIA_MenuClosedEventId | |
UIA_MenuOpenedEventId | |
UIA_StructureChangedEventId |
相关主题