CWnd::OnSysKeyUp

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

afx_msg void OnSysKeyUp(
   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。

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

解説

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

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

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

非米国.. 英語用に向上 102 キーのキーボードは CTRL+ALT のキーの組み合わせとして、右の Alt キー処理されます。次に示すのは、メッセージのシーケンス ユーザーとリリースこのキーを押すと、結果を呼び出し、:

Sequence

アクセス関数

渡されたメッセージ

1.

WM_KEYDOWN

VK_CONTROL

2.

WM_KEYDOWN

VK_MENU

3.

WM_KEYUP

VK_CONTROL

4.

WM_SYSKEYUP

VK_MENU

[!メモ]

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

必要条件

ヘッダー: afxwin.h

参照

関連項目

CWnd クラス

階層図

TranslateAccelerator

CWnd::OnSysKeyDown

WM_SYSKEYUP