TextEdit コントロール パターン
プロパティとメソッドに関する情報を含む、ITextEditProviderを実装するためのガイドラインと規則について説明します。 TextEdit コントロール パターンは、自動修正を実行するコントロールや入力コンポジションを有効にするコントロールなど、テキストを変更するコントロールへのプログラムによるアクセスに使用されます。
手記
このトピックの実装に関する注意事項は、Text Services Framework (TSF) の API を参照してください。 TSF と API リファレンスの詳細については、「Text Services Framework」を参照してください。
ITextEditProvider に必要なメンバー
これらのプロパティとメソッドは、ITextEditProvider インターフェイスを実装するために必要です。
必須メンバー | メンバーの種類 | 筆記 |
---|---|---|
GetActiveCompositionの | 方式 | 現在の変換の範囲を返します (変換がない場合は none)。 アクティブなコンポジションを返します(TSFでは、これは GUID_PROP_COMPOSINGでマークされた範囲です)。 たとえば、Microsoft 日本語入力メソッド エディター (IME) の場合、これは下線付きの完全なテキストになります。 |
GetConversionTargetの | 方式 | 現在の変換ターゲット範囲を返します (変換がない場合は none)。 TSF では、これは、TF_DISPLAYATTRIBUTE 構造体から TF_ATTR_TARGET_NOTCONVERTED または TF_ATTR_TARGET_CONVERTED としてマークされた文字の範囲です。 |
TextEditTextChanged および ConversionTargetChanged イベントは、TextEdit パターンをサポートする Microsoft UI オートメーション要素によって発生する必要があります。
TextEditTextChanged
- UiaRaiseTextEditTextChangedEvent 関数を使用して、TextEditTextChanged イベントを発生させます。
- 次の表に、イベントを発生させる必要があるケースと、使用する UiaRaiseTextEditTextChangedEvent パラメーターを示します。
TextEditChangeType | イベント ペイロード | 筆記 |
---|---|---|
オートコレクトの | 修正された新しい文字列 | コントロールによって自動修正が行われるときに発生します。 または、TSF を介して置換が行われ、範囲が TKB_ALTERNATES_AUTOCORRECTION_APPLIEDの GUID_PROP_TKB_ALTERNATES 値を持つ場合。 |
コンポジション | 更新された文字列 | ペイロードには、変更された文字のみを含める必要があります (合成文字列全体を送信しないでください)。 コンポジション置換が行われるたびに発生します。 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を使用して監視できます。