IUIAutomation6::RemoveActiveTextPositionChangedEventHandler 方法 (uiautomationclient.h)

删除活动文本位置已更改事件处理程序。

重要

Microsoft UI 自动化客户端应使用 IUIAutomationEventHandlerGroup 接口方法注册事件侦听器,而不是此处和各种 IUIAutomation 接口命名空间中定义的单个事件注册方法。

语法

HRESULT RemoveActiveTextPositionChangedEventHandler(
  [in] IUIAutomationElement                               *element,
  [in] IUIAutomationActiveTextPositionChangedEventHandler *handler
);

参数

[in] element

指向与事件处理程序关联的 UI 自动化 元素的指针。

[in] handler

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

返回值

此方法不返回值。

备注

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

活动文本位置由导航事件指示 (只读文本元素(例如 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 事件。

如果事件与取消订阅该事件的请求同时收到,则事件可以在取消订阅处理程序后传递到事件处理程序。 最佳做法是遵循组件对象模型 (COM) 标准,并避免销毁事件处理程序对象,直到其引用计数达到零。 如果事件延迟传递,则取消订阅事件后立即销毁事件处理程序可能会导致访问冲突。

要求

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

另请参阅

IUIAutomation6::AddActiveTextPositionChangedEventHandlerIUIAutomation6 接口