CWnd::OnSysChar

更新 : 2007 年 11 月

CWnd が入力フォーカスを持っている場合に、WM_SYSKEYUP メッセージと WM_SYSKEYDOWN メッセージが変換されると、フレームワークからこのメンバ関数が呼び出されます。

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

パラメータ

  • nChar
    コントロール メニュー キーの ASCII 文字キー コードを指定します。

  • nRepCnt
    繰り返し数 (ユーザーがキーを押し続けたときに繰り返すキーストロークの回数) を指定します。

  • nFlags
    nFlags には次の値を指定できます。

    説明

    0-15

    繰り返し回数を指定します。この値は、ユーザーがキーを押し続けたときに繰り返すキーストロークの回数です。

    16-23

    スキャン コードを指定します。この値は、相手先ブランド供給 (OEM: Original Equipment Manufacturer) によって異なります。

    24

    キーが拡張キー (拡張 101 または 102 キーのキーボード上にある右側の Alt キーや Ctrl キーなど) かどうかを指定します。拡張キーの場合は 1、それ以外の場合は 0 になります。

    25-28

    Windows 内部で使用します。

    29

    コンテキスト コードを指定します。Alt キーを押した状態でキーを押した場合は 1、それ以外の場合は 0 になります。

    30

    直前のキー状態を指定します。メッセージが送られる前にキーが押されていた場合は 1、キーが離されていた場合は 0 になります。

    31

    変換状態を指定します。キーが離されている場合は 1、押されている場合は 0 になります。

解説

コントロール メニュー キーの仮想キー コードを指定します。標準仮想キー コードの一覧については、Winuser.h を参照してください。

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

IBM の 101 キーまたは 102 キーの拡張キーボードで拡張されたキーは、キーボードのメイン セクションの右 Alt キーと右 Ctrl キー、テンキーの左にある Ins キー、Del キー、Home キー、End キー、PageUp キー、PageDown キー、方向キー、およびテンキーのスラッシュ (/) キーと Enter キーです。ほかのキーボードでは、nFlags の拡張キー ビットで拡張キーをサポートすることがあります。

w4e8hb20.alert_note(ja-jp,VS.90).gifメモ :

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

必要条件

ヘッダー : afxwin.h

参照

参照

CWnd クラス

階層図

TranslateAccelerator

CWnd::OnSysKeyDown

CWnd::OnSysKeyUp

WM_SYSCHAR

その他の技術情報

CWnd のメンバ