TextEdit コントロール パターン

プロパティとメソッドに関する情報など、 ITextEditProvider を実装するためのガイドラインと規則について説明します。 TextEdit コントロール パターンは、自動修正を実行するコントロールや入力コンポジションを有効にするコントロールなど、テキストを変更するコントロールへのプログラムによるアクセスに使用されます。

注意

このトピックの実装に関するメモは、Text Services Framework (TSF) から提供される API を参照してください。 TSF と API リファレンスの詳細については、「 Text Services Framework」を参照してください。

ITextEditProvider に必要なメンバー

これらのプロパティとメソッドは、 ITextEditProvider インターフェイスを実装するために必要です。

必須メンバー メンバーの型 メモ
GetActiveComposition メソッド 現在の変換の範囲を返します (変換がない場合はなし)。 アクティブなコンポジションを返します (TSF では、 これはGUID_PROP_COMPOSINGでマークされた範囲です)。 たとえば、Microsoft 日本語入力メソッド エディター (IME) の場合、これは下線付きの完全なテキストになります。
GetConversionTarget メソッド 現在の変換ターゲット範囲を返します (変換がない場合はなし)。 TSF では、これは、TF_DISPLAYATTRIBUTE構造体からTF_ATTR_TARGET_NOTCONVERTEDまたはTF_ATTR_TARGET_CONVERTEDとしてマークされた文字の範囲です。

TextEditTextChanged イベントと ConversionTargetChanged イベントは、TextEdit パターンをサポートする Microsoft UI オートメーション 要素によって発生する必要があります。

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 オートメーション ツリーの概要