组控件类型

本主题提供有关Microsoft UI 自动化对 控件类型的支持的信息。

组控件表示层次结构中的节点。 控件类型在 UI 自动化树中创建分离,以便组合在一起的项在 UI 自动化树中具有逻辑除法。

以下各节定义 控件类型所需的 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成 UI 自动化对控件类型和控件模式的支持的所有组控件。

本主题包含以下部分。

典型树结构

下表描述了与组控件相关的 UI 自动化树的典型控件和内容视图,并描述了每个视图中可包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述

控件视图 内容视图
    • 0 或多个控件
    • 0 或多个控件

 

组控件通常包括 UI 自动化对子树下找到的控件类型的支持,包括 ListItemTreeItem,以及 DataItem 控件类型。 由于组控件是一个泛型容器,因此任何类型的控件都可以位于树中的组控件下。

相关属性

下表列出了其值或定义与组控件特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅 从 UI 自动化元素检索属性

UI 自动化属性 价值 笔记
UIA_AutomationIdPropertyId 请参阅备注。 此属性的值在 UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅备注。 包含整个控件的最外侧矩形。
UIA_ClickablePointPropertyId 请参阅备注。 如果存在边界矩形,则受支持。 如果边界矩形中的每个点都不可单击,并且该元素执行专用命中测试,请重写并提供可单击点。
UIA_ControlTypePropertyId
UIA_IsContentElementPropertyId TRUE 组控件始终包含在 UI 自动化树的内容视图中。
UIA_IsControlElementPropertyId TRUE 组控件始终包含在 UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId 请参阅备注。 如果控件可以接收键盘焦点,它必须支持此属性。
UIA_LabeledByPropertyId 请参阅备注。 组控件通常是自标记。 在这些情况下,返回 NULL 。 如果组具有静态文本标签,则返回标签作为 LabeledBy 属性的值。
UIA_LocalizedControlTypePropertyId 请参阅备注。 控件类型对应的本地化字符串。 en-US 或英语(美国)的默认值为“group”。
UIA_NamePropertyId 请参阅备注。 组控件通常从标记控件的文本中获取其名称。

 

所需的控件模式

下表列出了 控件类型所需的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI 自动化控件模式概述

控件模式 支持 笔记
IExpandCollapseProvider 取决于 可用于显示或隐藏信息的组控件必须支持 ExpandCollapse 控件模式。

 

必需事件

下表列出了组控件所需的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述

UI 自动化事件 笔记
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_ExpandCollapseExpandCollapseStatePropertyId 属性更改事件。 如果控件支持 ExpandCollapse 控件模式控件模式,则必须支持此事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,则必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_ToggleToggleStatePropertyId 属性更改事件。 如果控件支持 Toggle 控件模式,则必须支持此事件。
UIA_StructureChangedEventId

 

概念

UI 自动化控件类型概述

UI 自动化概述