CWnd::OnKeyDown
非システム キーが押されたときに、フレームワークによってこのメンバー関数が呼び出されます。
afx_msg void OnKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags
);
パラメーター
nChar
指定されたキーの仮想キー コードを指定します。 標準の仮想キー コードの一覧については、Winuser.h を参照してください。nRepCnt
繰り返し回数 (キーを押し続けたときに繰り返されるキーストロークの回数) を指定します。nFlags
次に示すスキャン コード、キー変換コード、直前のキー状態、およびコンテキスト コードを指定します。値
説明
0–7
スキャン コード (OEM 依存の値)。
8
拡張キー。ファンクション キーや数字キーパッド上のキー (拡張キーの場合は 1)。
9–10
使用しません。
11–12
Windows 内部で使用します。
13
コンテキスト コード (Alt キーを押した状態でほかのキーを押した場合は 1、それ以外の場合は 0)。
14
直前のキー状態 (呼び出す前にキーが押されると 1、キーが離されると 0)。
15
変換状態 (キーが離されている場合は 1、押されている場合は 0)。
WM_KEYDOWN メッセージでは、キー変換ビット (ビット 15) は 0 でコンテキスト コード ビット (ビット 13) が 0 になります。
解説
非システム キーとは、Alt キーが押されていないとき、または CWnd が入力フォーカスを持っていないときに押されたキーボードのキーです。
オート リピート機能により、OnKeyUp メンバー関数の呼び出し前に、複数回の OnKeyDown 呼び出しが発生することがあります。 直前のキー状態を示すビットを使って、OnKeyDown が最初に押されたことによるものか、継続して押されたことによるものかを調べることができます。
IBM の 101 キーまたは 102 キーの拡張キーボードで拡張されたキーは、キーボードのメイン セクションの右 Alt キーと右 Ctrl キー、テンキーの左にある Ins キー、Del キー、Home キー、End キー、PageUp キー、PageDown キー、方向キー、およびテンキーのスラッシュ (/) キーと Enter キーです。 ほかのキーボードでは、nFlags の拡張キー ビットで拡張キーをサポートすることがあります。
注意
このメンバー関数は、アプリケーションが Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 この関数に渡されるパラメーターの値は、フレームワークがメッセージ受信時に受け取ったパラメーターの値に基づいています。 この関数の基本クラスの実装を呼び出した場合は、関数に渡したパラメーターではなく、メッセージと共に渡されたパラメーター自体が使用されます。
必要条件
**ヘッダー:**afxwin.h