WM_KEYDOWN = &H100 |
| 機能 |
システム以外のキーが押されたときに キーボードフォーカスを持つウィンドウに送られる |
| wParam |
押されたキーの仮想コード |
| lParam |
リピート数、スキャンコード、拡張キー、コンテキストコード、
直前のキー状態、キー遷移(せんい)状態を示す。
ビット 説明
-----------------------------------------------------------------------------
0〜15 リピート数を示す。この値はユーザーがキーを押しつづけたときに
リピートされたキーストロークの回数を示す。
16〜23 走査コードを示す。
この値はOEM(Original Equipment Manufacturer)に依存する。
24 ファンクションキーや数値キーパッドなどの拡張キーかどうかを示す
拡張キーのとき 1
それ以外は 0
NEC PC-9800シリーズ、PC-H98シリーズは常に0
25〜26 未使用
27〜28 Windows内部で使用
29 コンテキストコードを示す。[Alt]キーが押された状態での
キーが押された場合はこの値は 1
それ以外は 0
30 直前のキーの状態を示す。
メッセージが送られてくる前にキーが押されているとき 0
離されていたときは 1
31 キー遷移の状態を示す。
キーが離されているとき 1
押されているとき 0
-----------------------------------------------------------------------------
このメッセージの場合、ビット29の値とビット31の値は両方とも0 |
| 戻り値 |
0を返す |
| 備考 |
システム以外のキーとは、[Alt]キーが押されていないときに押されたキー またはウィンドウが入力フォーカスを持つときに押されたキーのこと。 このメッセージはVisual BasicのKeyDownイベントと同じである。 オートリピート機能により、WM_KEYUPメッセージが送られる前に複数の このメッセージが送られることがある。直前のキー状態(ビット30)は このメッセージが最初のキー押下によるものか、または繰り返しの押下 によるものかを調べるときに使う。 IBM拡張101キーまたは102キーボードでは、キーボードの主要な部分にある右の [Alt]キーと右の[Ctrl]キー、数値キーパッドの左側にある[Ins],[Del],[Home], [End],[Page Up],[Page Down]および各方向キー、さらに数値パッドの上の除算キー [/]と[Enter]キーがすべて拡張キーになる。この他にもlParamの拡張キーのビット をサポートするキーボードがある。 |
| 参照 |
WM_CHAR, WM_KEYUP |