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

参照

参照

CWnd クラス

階層図

CWnd::OnChar

CWnd::OnKeyUp

WM_KEYDOWN

概念

CWnd のメンバー