WM_DEADCHAR メッセージ

WM_KEYUP メッセージが TranslateMessage 関数によって翻訳されるときに、キーボード フォーカスを使用してウィンドウに投稿されます。 WM_DEADCHAR は、デッド キーによって生成される文字コードを指定します。 デッド キーは、別の文字と組み合わせて複合文字を形成する、ウムラウト (二重ドット) などの文字を生成するキーです。 たとえば、umlaut-O 文字 ( ) は、umlaut 文字のデッド キーを入力し、O キーを入力することによって生成されます。

#define WM_DEADCHAR                     0x0103

パラメーター

wParam

デッド キーによって生成された文字コード。

lParam

次の表に示すように、繰り返し数、スキャン コード、拡張キー フラグ、コンテキスト コード、前のキー状態フラグ、および遷移状態フラグ。

Bits 説明
0-15 現在のメッセージの繰り返し数。 値は、ユーザーがキーを押した結果としてキーストロークが自動レプリケートされる回数です。 キーストロークが十分に長く保持されている場合は、複数のメッセージが送信されます。 ただし、繰り返し数は累積されません。
16-23 スキャン コード。 値は OEM によって異なります。
24 キーが拡張キー (拡張 101 キーまたは 102 キー キーボードに表示される右側の Alt キーや Ctrl キーなど) であるかどうかを示します。 拡張キーの場合、値は 1 です。それ以外の場合は 0 です。
25-28 予約;は使用しないでください。
29 コンテキスト コード。 Alt キーを押しながらキーを押すと、値は 1 になります。それ以外の場合、値は 0 です。
30 以前のキーの状態。 メッセージが送信される前にキーがダウンしている場合は 1、キーが稼働している場合は 0 です。
31 遷移状態。 キーが解放されている場合は 1、キーが押されている場合は 0 です。

詳細については、「 キーストローク メッセージ フラグ」を参照してください。

戻り値

このメッセージを処理する場合、アプリケーションは 0 を返す必要があります。

解説

通常、WM_DEADCHAR メッセージは、押された各キーに関するフィードバックをユーザーに提供するためにアプリケーションによって使用されます。 たとえば、アプリケーションでは、キャレットを移動せずに、現在の文字位置にアクセントを表示できます。

押されたキーと生成される文字メッセージの間に一対一の対応が必ずしも存在するとは限らないため、 lParam パラメーターの上位ワードの情報は、通常、アプリケーションには役に立ちません。 上位の単語の情報は、 WM_DEADCHAR メッセージの投稿の前にある最新の WM_KEYDOWN メッセージにのみ適用されます。

拡張 101 キーと 102 キーのキーボードの場合、拡張キーは、キーボードのメインセクションの右 Alt キーと右 Ctrl キーです。テンキーの左側にあるクラスターの INS、DEL、HOME、END、PAGE UP、PAGE DOWN キー、方向キー、およびテンキーの除算 (/) キーと ENTER キーです。 他の一部のキーボードでは、 lParam パラメーターで拡張キー ビットがサポートされている場合があります。

必要条件

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

関連項目