共用方式為


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自動化用戶端保留在頁面頂端。

對於可編輯的文字元素,例如 EditRich Edit控件,您可以接聽 SelectionChanged 事件。

如果事件與取消訂閱事件的要求同時收到,則事件可以在取消訂閱處理程式之後傳遞至事件處理程式。 最佳做法是遵循元件物件模型 (COM) 標準,並避免終結事件處理程序物件,直到其參考計數達到零為止。 取消訂閱事件之後立即終結事件處理程式,如果事件遲到,可能會導致存取違規。

要求

要求 價值
最低支援的用戶端 Windows 10 版本 1809 [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 版本 1709 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 uiautomationclient.h (include UIAutomation.h)

另請參閱

IUIAutomation6::RemoveActiveTextPositionChangedEventHandlerIUIAutomation6 介面