IUIAutomation6::AddActiveTextPositionChangedEventHandler 方法 (uiautomationclient.h)
註冊處理使用中文字位置變更時的方法。
重要
Microsoft UI 自動化用戶端應該使用 IUIAutomationEventHandlerGroup 介面 方法來註冊事件接聽程式,而不是此處和各種 IUIAutomation 介面 命名空間中定義的個別事件註冊方法。
語法
HRESULT AddActiveTextPositionChangedEventHandler(
[in] IUIAutomationElement *element,
[in] TreeScope scope,
[in] IUIAutomationCacheRequest *cacheRequest,
[in] IUIAutomationActiveTextPositionChangedEventHandler *handler
);
參數
[in] element
與事件處理程式相關聯的UI Automation元素指標。
[in] scope
要處理的事件範圍;也就是說,無論是在元素本身上,還是在其祖先和子代上。
[in] cacheRequest
快取要求的指標,如果沒有需要快取,則為 NULL。
[in] handler
物件的指標,可處理作用中文字位置已變更事件。
傳回值
如果此方法成功,則會傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。
言論
實作事件處理程式之前,您應該先熟悉 瞭解線程問題中所述的線程問題。
使用書籤的導覽事件(或用來參考資源內位置的片段標識符),以唯讀文字元素(例如網頁瀏覽器、可攜式檔格式(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 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | uiautomationclient.h (include UIAutomation.h) |
另請參閱
IUIAutomation6::RemoveActiveTextPositionChangedEventHandler、IUIAutomation6 介面