文本控件类型

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

文本控件是一个基本用户界面项,表示屏幕上的一段文本。

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

本主题包含以下部分。

典型树结构

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

控件视图 内容视图
  • 发短信
  • 文本(如果内容)

 

文本控件可以单独用作标签或窗体上的静态文本。 它还可包含在下列项之一的结构中:

文本控件可能不会显示在 UI 自动化树的内容视图中,因为文本通常通过另一个控件的 Name 属性显示。 例如,用于标记组合框控件的文本通过控件的 Name 属性公开。 由于组合框控件位于 UI 自动化树的内容视图中,因此文本控件不需要存在。 如果存在嵌入对象(如超链接),文本控件可能具有内容视图中的子级。

相关属性

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

UI 自动化属性 价值 笔记
UIA_AutomationIdPropertyId 请参阅备注。 此属性的值在 UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅备注。 包含整个控件的最外侧矩形。
UIA_ClickablePointPropertyId 请参阅备注。 如果存在边界矩形,则受支持。 如果边界矩形中的每个点都不可单击,并且该元素执行专用命中测试,请重写并提供可单击点。
UIA_ControlTypePropertyId 文本
UIA_IsContentElementPropertyId 取决于 如果文本控件包含其他控件的 Name 属性中未公开的信息,则文本控件是内容。
UIA_IsControlElementPropertyId 文本控件必须始终是控件。
UIA_IsKeyboardFocusablePropertyId 请参阅备注。 如果控件可以接收键盘焦点,它必须支持此属性。
UIA_LabeledByPropertyId 文本控件没有静态文本标签。
UIA_LocalizedControlTypePropertyId 请参阅备注。 文本 控件类型对应的本地化字符串。 en-US 或英语(美国)的默认值为“text”。
UIA_NamePropertyId 请参阅备注。 文本控件的名称可以是它显示的文本。 但是,如果控件还支持 文本 模式,并且文本很广泛,请不要将全文内容用作 名称 值。 而是提供一个 名称 值,该值更短,派生自控件的其他属性。

 

所需的控件模式

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

控件模式 支持 笔记
IGridItemProvider 取决于 如果文本控件包含在表控件中,则必须支持 GridItem 控件模式。
ITableItemProvider 取决于 如果文本控件包含在表控件中,则必须支持 TableItem 控件模式。
ITextProvider 取决于 文本应支持 文本 控件模式,以提高辅助功能;但是,这不是必需的。 当文本具有丰富的样式和属性(例如颜色、粗体和斜体)时,文本控件模式非常有用。
IValueProvider 从不 文本控件绝不支持 控件模式。 如果文本可编辑,则 编辑 控件类型。

 

必需事件

下表列出了文本控件需要支持的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述

UI 自动化事件 笔记
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,则必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_NamePropertyId 属性更改事件。
UIA_StructureChangedEventId
UIA_Text_TextChangedEventId 如果控件支持 文本 控件模式,则它必须支持此事件。

 

概念

UI 自动化控件类型概述

UI 自动化概述