WM_CHAR メッセージは、キー操作が非システムキャラクタに変換されたときにウィンドウにポストされます。このメッセージは、 WM_KEYDOWN メッセージが TranslateMessage 関数に変換されることによって、キーオードフォーカスを持つウィンドウにポストされます。
ウィンドウは、ウィンドウプロシージャを介してこのメッセージを受け取ります。
#define WM_CHAR 0x0102 chCharCode = wParam; // キャラクタコード lKeyData = lParam; // キーデータ
wParam パラメータの値。
入力された非システム文字のキャラクタコードが指定されます。
lParam パラメータの値。
リピートカウント (ユーザーがキーを押し続けたときに繰り返すキー操作の回数) 、スキャンコード、キー変換コード、直前のキー状態、およびコンテキストコードが指定されます。
ビット | 意味 |
---|---|
0 〜 15 | 現在のメッセージのリピートカウントが指定されます。これは、ユーザーがキーを押し続けたことにより自動的に繰り返されたキーストロークの回数です。非常に長く押され続けた場合は、メッセージは送られますが、カウントは累積されません。 |
16 〜 23 | スキャンコードが指定されます。この値は OEM 依存です。 |
24 | 拡張キーが押されたかどうかが指定されます。拡張キーの場合は 1 が、それ以外のキーでは 0 が指定されます。 |
25 〜 28 | 使用されません。 |
29 | コンテキストコードが格納されます。 [Alt] キーを押した状態でほかのキーを押した場合は 1 が、それ以外の場合は 0 が指定されます。 |
30 | 直前のキー状態が指定されます。メッセージが送られる前にキーが押されていた場合は 1 が、離されていた場合は 0 が指定されます。 |
31 | 変換状態が指定されます。キーが離されている場合は 1 が、押されている場合は 0 が指定されます。 |
アプリケーションがこのメッセージを処理した場合は 0 を返します。
Windows 95 以降 / Windows NT 3.1 以降