IUIAutomationEventHandlerGroup::AddActiveTextPositionChangedEventHandler 方法 (uiautomationclient.h)

在事件处理程序组中注册一个方法 (,) 处理活动文本位置更改的时间。

重要Microsoft UI 自动化客户端应使用处理程序组方法来注册事件侦听器,而不是各种 IUIAutomation 命名空间中定义的单个事件注册方法。

 

语法

HRESULT AddActiveTextPositionChangedEventHandler(
  [in] TreeScope                                          scope,
  [in] IUIAutomationCacheRequest                          *cacheRequest,
  [in] IUIAutomationActiveTextPositionChangedEventHandler *handler
);

参数

[in] scope

要处理的事件的范围;即,它们是在元素本身上,还是在其上级和子代上。

[in] cacheRequest

指向缓存请求的指针;如果不需要缓存,则为 NULL

[in] handler

指向对象的指针,该对象处理活动文本位置更改事件。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

在实现事件处理程序之前,应熟悉了解线程处理问题中所述 的线程问题

活动文本位置由只读文本元素 ((如 Web 浏览器、可移植文档格式 (PDF) 文档)或 EPUB 文档) 使用书签 (或片段标识符来引用资源) 内的位置的导航事件指示。 示例包括:

  • 导航到同一网页中的书签
  • 导航到其他网页上的书签
  • 激活指向同一 PDF 中不同位置的链接
  • 激活指向同一 EPUB 中不同位置的链接
使用此事件处理程序可将书签/目标的可视位置与只读文本元素中的焦点位置同步,后者在使用书签或片段标识符时可能会发生分歧。

例如,当调用同一页面定位点 (<a href=”#C4”>Jump to Chapter 4</a> ... <h1><a name="C4">Chapter 4</a></h1>) 时,将更新可视位置,但UI 自动化客户端将保留在原始位置。 这会导致文本读取或移动下一项命令等操作从原始位置开始,而不是从新位置开始。

同样,使用片段标识符激活新页面 URI (: (<a href=”www.blah.com#C4”>Jump to Chapter 4</a>) ) 加载新页面并跳转到指定的书签,但将UI 自动化客户端保留在页面顶部。

对于可编辑的文本元素(如 EditRich Edit 控件),可以侦听 SelectionChanged 事件。

要求

要求
最低受支持的客户端 Windows 10 版本 1809 [仅限桌面应用]
最低受支持的服务器 Windows Server 版本 1709 [仅限桌面应用]
目标平台 Windows
标头 uiautomationclient.h (包括 UIAutomation.h)

另请参阅

IUIAutomationEventHandlerGroup