共用方式為


TextEdit 控制件模式

介紹實作 ITextEditProvider的指導方針和慣例,包括屬性和方法的相關信息。 TextEdit 控制項模式用於以程式設計方式存取修改文字的控制件,例如執行自動更正或啟用輸入組合的控制件。

注意

本主題中的實作注意事項指的是來自文字服務架構 (TSF) 的 API。 如需 TSF 和 API 參考的詳細資訊,請參閱 Text Services Framework

ITextEditProvider 的必要成員

實作 ITextEditProvider 介面需要這些屬性和方法。

必要成員 成員類型 筆記
GetActiveComposition 方法 傳回目前轉換的範圍(如果沒有轉換則為 none)。 傳回使用中組合(在TSF中,這是以 GUID_PROP_COMPOSING標示的範圍)。 例如,使用 Microsoft日文輸入法編輯器 (IME),這會是全底線文字。
GetConversionTarget 方法 傳回目前的轉換目標範圍(如果沒有轉換則無)。 在 TSF 中,這是從 TF_DISPLAYATTRIBUTE 結構標示為 TF_ATTR_TARGET_NOTCONVERTEDTF_ATTR_TARGET_CONVERTED 的字元範圍。

TextEditTextChangedConversionTargetChanged 事件,必須 Microsoft由支援 TextEdit 模式的 ui Automation 元素引發。

TextEditTextChanged

TextEditChangeType 事件承載 筆記
自動更正 新更正的字串 當控件進行自動更正時引發。 或者,只要透過 TSF 進行取代,範圍就會有 GUID_PROP_TKB_ALTERNATESTKB_ALTERNATES_AUTOCORRECTION_APPLIED
組合 更新的字串 承載必須只包含已變更的字元(不要傳送整個組合字串)。 每當進行組合取代時引發。 在 TSF 中,組合取代定義為已設定 GUID_PROP_COMPOSING 旗標的取代專案。 實作 TSF 的編輯控制項可以透過 onEndEdit 通知 監視這些變更。
CompositionFinalized 完成的撰寫字串 (請參閱附註) 在 TSF 中,完成的轉換字串是由要從組合中移除的 GUID_PROP_COMPOSING 旗標所定義。 實作 TSF 的編輯控件應該從 EndComposition 判斷完成的字串,並在呼叫 OnEndEdit 時引發 事件。
如果組合已取消或刪除,則完成的撰寫字串可能是空的。

ConversionTargetChanged

  • 當轉換目標從一個目標變更到另一個目標時,就會發生 conversionTargetChanged
  • 使用 UiaRaiseAutomationEvent 函式來引發 ConversionTargetChanged 事件(傳遞 UIA_TextEdit_ConversionTargetChangedEventId 事件標識符)。
  • 當目標的內容變更時,不應該引發 conversionTargetChanged。 如果目標變更與組合變更同時發生,則必須在引發任何組合事件之後引發目標變更事件。
  • 在 TSF 中,轉換目標是由 TF_ATTR_TARGET_CONVERTEDTF_DISPLAYATTRIBUTE 結構設定的值所定義。 您可以使用 onEndEdit 監視變更。

概念

控件類型及其支援的控制模式

UI 自動化控制項模式概觀

UI 自動化樹狀結構概觀