次の方法で共有


WM_IME_COMPOSITION メッセージ

IME がキーストロークの結果としてコンポジションの状態を変更したときにアプリケーションに送信されます。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。

LRESULT CALLBACK WindowProc(
  HWND  hwnd,     
  WM_IME_COMPOSITION,   
  WPARAM wParam,
  LPARAM lParam          
);

パラメーター

hwnd

ウィンドウへのハンドル。

wParam

コンポジション文字列に対する最新の変更を表す DBCS 文字。

lParam

コンポジション文字列または文字の変更方法を指定する値。 このパラメーターには、次の 1 つ以上の値を指定できます。 これらの値の詳細については、「 IME コンポジション文字列値」を参照してください。

GCS_COMPATTR

GCS_COMPCLAUSE

GCS_COMPREADSTR

GCS_COMPREADATTR

GCS_COMPREADCLAUSE

GCS_COMPSTR

GCS_CURSORPOS

GCS_DELTASTART

GCS_RESULTCLAUSE

GCS_RESULTREADCLAUSE

GCS_RESULTREADSTR

GCS_RESULTSTR

lParam パラメーターには、次の値の 1 つ以上を指定することもできます。

意味
CS_INSERTCHAR
現在の挿入ポイントに wParam コンポジション文字を挿入します。 このメッセージを処理する場合、アプリケーションは合成文字を表示する必要があります。
CS_NOMOVECARET
メッセージの処理の結果としてキャレット位置を移動しないでください。 たとえば、IME でCS_INSERTCHARとCS_NOMOVECARETの組み合わせを指定する場合、アプリケーションは指定した文字を現在のキャレット位置に挿入する必要がありますが、キャレットを次の位置に移動しないでください。 後続の WM_IME_COMPOSITION メッセージと GCS_RESULTSTR は、この文字を置き換えます。

 

戻り値

このメッセージには戻り値がありません。

注釈

アプリケーションは、コンポジション文字自体を表示する場合に、このメッセージを処理する必要があります。 それ以外の場合は、メッセージを IME ウィンドウに送信する必要があります。

アプリケーションで IME ウィンドウが作成されている場合は、このメッセージをそのウィンドウに渡す必要があります。 DefWindowProc 関数は、このメッセージを既定の IME ウィンドウに渡すことによって処理します。 IME ウィンドウは、指定された変更フラグに基づいて外観を更新することで、このメッセージを処理します。 アプリケーションは ImmGetCompositionString を呼び出して、新しいコンポジションの状態を取得できます。

GCS_値が設定されていない場合、メッセージは現在のコンポジションが取り消されたことを示し、コンポジション文字列を描画するアプリケーションは文字列を削除する必要があります。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winuser.h (Windows.h を含む);
Imm.h (Windows.h を含む)

関連項目

入力メソッド マネージャー

入力メソッド マネージャー メッセージ

ImmGetCompositionString