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
- TextEditTextChanged イベントを発生するには、UiaRaiseTextEditTextChangedEvent 関数を使用します。
- 次の表に、イベントを発生させるケースと、使用する UiaRaiseTextEditTextChangedEvent パラメーターを示します。
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 を使用して監視できます。