工具提示控件类型

本主题提供有关 Microsoft UI 自动化对 ToolTip 控件类型的支持的信息。 工具提示控件是包含文本的弹出窗口。

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

本主题包含以下各节:

典型树结构

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

控件视图 内容视图
  • ToolTip
    • Text(0 个或多个)
    • Image(0 个或多个)
  • ToolTip

 

如果工具提示控件可以接收键盘焦点,则仅显示在UI 自动化树的内容视图中。 否则,工具提示的所有信息都可以从工具提示引用的元素上的 IUIAutomationElement::CurrentHelpText (或 CachedHelpText) 属性中获取。

工具提示应显示在其信息所引用的控件下方。 客户端必须侦听 UIA_ToolTipOpenedEventId ,以确保它们始终如一地获取工具提示中包含的信息。

相关属性

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

UI 自动化属性 说明
UIA_AutomationIdPropertyId 请参阅注释。 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅注释。 包含整个控件的最外层矩形。
UIA_ClickablePointPropertyId 请参阅注释。 可单击点应该是关闭控件的工具提示的一部分。 某些工具提示没有此功能,并且不会有可单击的点。
UIA_ControlTypePropertyId ToolTip
UIA_IsContentElementPropertyId 依赖的对象 如果工具提示控件可以接收键盘焦点,则必须显示在树的内容视图中。 如果它仅是文本,则它可用作引发它的控件的 IUIAutomationElement::CurrentHelpText (或 CachedHelpText) 属性。
UIA_IsControlElementPropertyId True 工具提示控件始终包含在UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId 请参阅注释。 如果该控件可以接收键盘焦点,则它必须支持此属性。
UIA_LabeledByPropertyId Null 工具提示控件始终按其内容进行自我标记。
UIA_LocalizedControlTypePropertyId 请参阅注释。 对应于 ToolTip 控件类型的本地化的字符串。 en-US 或英语 (美国) 的默认值为“tooltip”。
UIA_NamePropertyId 请参阅注释。 工具提示控件的名称是工具提示中显示的文本。

 

所需的控件模式

下表列出了工具提示控件需要支持的UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI Automation Control Patterns Overview

控件模式 支持 说明
ITextProvider 依赖的对象 为了获得更好的辅助功能,工具提示控件可以支持 文本 控件模式,尽管这不是必需的。 当文本具有丰富的样式和特性(例如,颜色、粗体和斜体)时,“文本”控件模式会很有用。
IWindowProvider 依赖的对象 可以通过单击 UI 项关闭的工具提示必须支持 窗口 控件模式,以便可以自动关闭。

 

必需事件

工具提示控件在屏幕上出现时,必须引发 UIA_ToolTipOpenedEventId 事件。 事件将包含对工具提示本身的 UI 自动化 元素的引用。

下表列出了工具提示控件需要支持UI 自动化事件。 有关事件的详细信息,请参阅 F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty

UI 自动化事件 说明
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,它必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_NamePropertyId 属性更改事件。
UIA_Text_TextChangedEventId 如果控件支持 Text 控件模式,则必须支持此事件。
UIA_ToolTipClosedEventId
UIA_ToolTipOpenedEventId
UIA_StructureChangedEventId
UIA_Window_WindowClosedEventId 如果控件支持 Window 控件模式,则必须支持此事件。
UIA_Window_WindowOpenedEventId 如果控件支持 Window 控件模式,则必须支持此事件。
UIA_WindowWindowVisualStatePropertyId 属性更改事件。 如果控件支持 Window 控件模式,则必须支持此事件。

 

概念性

UI 自动化控件类型概述

UI 自动化概述