了解UI 自动化文本对象模型

本主题介绍 Microsoft UI 自动化客户端应用程序如何访问基于文本的控件的文本内容。

基于文本的控件通过简单的文本对象模型向UI 自动化客户端应用程序公开文本内容。 客户端应用程序可以通过 Text 和 TextRange 控件模式接口(包括 IUIAutomationTextPatternIUIAutomationTextRange)访问文本对象模型。 客户端应用程序可以使用这些接口从基于文本的控件中检索文本内容、文本属性和嵌入对象(例如表和超链接)。

支持UI 自动化文本对象模型的控件类型包括“编辑”“文档”控件类型。 其他控件类型(如 工具提示文本 )可能也支持文本对象模型,但不需要它们。

注意

UI 自动化文本对象模型不提供插入或修改文本的方法。 但是,某些控件允许通过 IUIAutomationValuePattern 接口或通过直接键盘输入插入或修改文本。

 

特定于控件的对象模型

实现自己的文档对象模型 (DOM) 的基于文本的控件可以通过实现 ObjectModel 控件模式来公开 DOM。 通过公开 DOM,客户端应用程序可以更好地访问和控制基于文本的控件的内容。

客户端应用程序可以通过检索控件的 IUIAutomationElement 接口来发现特定基于文本的控件是否实现了 DOM。 然后,调用 IUIAutomationElement::GetCurrentPropertyValue 方法,指定 UIA_IsObjectModelPatternAvailablePropertyId 属性标识符,以及一个在控件实现 DOM 时接收 TRUE 的变体。

若要访问 DOM,请调用 IUIAutomationElement::GetCurrentPattern 方法,指定 UIA_ObjectModelPatternId 控件模式标识符和接收 IUIAutomationObjectModelPattern 接口的变量。 调用 IUIAutomationObjectModelPattern::GetUnderlyingObjectModel 方法以检索 DOM 接口。

Text 和 TextRange 控件模式

对文本内容的UI 自动化支持

使用基于文本的控件