次の方法で共有


CWnd::OnSysKeyDown

CWnd のオブジェクトに入力フォーカスがある場合は、OnSysKeyDown のメンバー関数は、フレームワークによってユーザーが Alt キーを押しながら、別のキーを押すと呼び出されます。

afx_msg void OnSysKeyDown(
   UINT nChar,
   UINT nRepCnt,
   UINT nFlags 
);

パラメーター

  • nChar
    押されたキーの仮想キー コードを指定します。標準の仮想キー コードのの一覧については、Winuser.h を参照してください。

  • nRepCnt
    繰り返し回数を指定します。

  • nFlags
    次の一覧に示すように、スキャン コード、キー、キー コード遷移前の状態とコンテキスト コードを指定します:

    説明

    0–7

    走査 OEM コード (参照先の値)。上位ワードの下位バイト数。

    8

    これは拡張されたキーである (テンキーのファンクション キーまたはキーのような拡張キー、1; それ以外の場合は 0)。

    9–10

    使用しません。

    11–12

    Windows で内部的に使用されます。

    13

    コンテキスト コード (キーを押しながら Alt キーが保持されている場合は 1 以外の場合は 0)。

    14

    前の状態 (主キー) が発生したメッセージが送信される前にキーが下がれば 1、0。

    15

    遷移状態 (キーが押された場合) キーが離された場合は 1、0。

    OnSysKeyDown 呼び出しでは、キー遷移のビット (15 ビット) 0 です。コンテキスト コードはビット (13 ビット) キーを押しながら Alt キーが 1;下がれば。ウィンドウが入力フォーカスを持っていないので、メッセージがアクティブ ウィンドウに送信されます 0 になります。

解説

ウィンドウが現在入力フォーカスがない場合は、アクティブ ウィンドウの OnSysKeyDown のメンバー関数が呼び出されます。メッセージを受け取る CWnd のオブジェクトは、これら二つのコンテキスト間で nFlagsコンテキスト コードのチェックによって区別できます。

コンテキスト コードが 0 の場合、OnSysKeyDown が受信する WM_SYSKEYDOWN のメッセージは、を処理 TranslateAccelerator Windows の関数には、システム キーのメッセージではなく通常のキー メッセージのように渡すことができます。これは、アクティブ ウィンドウに入力フォーカスがなくても備えなくアクセラレータ キーがアクティブ ウィンドウで使用できるようにします。

自動繰り返しについては、OnSysKeyDown の複数の呼び出しは WM_SYSKEYUP のメッセージを受信する前に発生することがあります。前の主要な状態が (14 ビット) OnSysKeyDown の呼び出しが遷移の下に繰り返される最初の遷移または表示するかどうかを確認するために使用できます。

強化された IBM では- 101 および 102 キーのキーボードのキーは、キーボードの主要なセクションの右のと Alt キーを押しながら右です。; で、DEL、Home、行きつ、ページ、ページ テンキーの左側のクラスターの方向キー、および; とスラッシュ (/) とテンキーの Enter キー。他のキーボード nFlagsでは、拡張キーをサポートする場合があります。

[!メモ]

このメンバー関数は、アプリケーションが Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。この関数に渡されるパラメーターの値は、フレームワークがメッセージ受信時に受け取ったパラメーターの値に基づいています。この関数の基本クラスの実装を呼び出した場合は、関数に渡したパラメーターではなく、メッセージと共に渡されたパラメーター自体が使用されます。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CWnd クラス

階層図

TranslateAccelerator

CWnd::OnSysKeyUp

WM_SYSKEYDOWN