TextEdit 控制項模式

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

注意

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

ITextEditProvider的必要成員

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

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

支援TextEdit模式的 Microsoft 消費者介面自動化 元素必須引發TextEditTextChangedConversionTargetChanged事件。

TextEditTextChanged

TextEditChangeType 事件裝載 備註
自動校正 新更正的字串 當 控制項進行自動校正時引發。 或者,只要透過 TSF 進行取代,範圍就會有 GUID_PROP_TKB_ALTERNATES 值為 TKB_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_DISPLAYATTRIBUTE結構設定 TF_ATTR_TARGET_CONVERTED值所定義。 您可以使用 OnEndEdit監視變更。

概念

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

UI 自動化控制項模式概觀

UI 自動化樹狀目錄概觀