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 自动化客户端保留在页面顶部。
对于可编辑的文本元素(如 Edit 和 Rich Edit 控件),可以侦听 SelectionChanged 事件。
如果事件与取消订阅该事件的请求同时收到,则事件可以在取消订阅处理程序后传递到事件处理程序。 最佳做法是遵循组件对象模型 (COM) 标准,并避免销毁事件处理程序对象,直到其引用计数达到零。 如果事件延迟传递,则取消订阅事件后立即销毁事件处理程序可能会导致访问冲突。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1809 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 版本 1709 [仅限桌面应用] |
目标平台 | Windows |
标头 | uiautomationclient.h (包括 UIAutomation.h) |
另请参阅
IUIAutomation6::AddActiveTextPositionChangedEventHandler, IUIAutomation6 接口