ファンクションキーF10押下が認識できない

解決


ひで  2005-07-16 20:48:17  No: 58434  IP: [192.*.*.*]

ファンクションキーF10押下が認識できません。

CViewの派生クラスの中でPreTranslateMessageにて、ファンクションキーF1からF12までの押下を認識する部分で、DEBUG,RELEASE双方のモードでF10のみ他のシステム系のエントリーに入り、プログラムでは認識できません。
また、DEBUGモードの時F12の押下でVisualStudioのブレークポイントの表示がでます。
ご存じの方よろしくお願いいたします。

環境  WindowsXP,VisualStudio 6.0 C++ MFC MDI。

編集    削除
RAPT  2005-07-17 00:48:33  No: 58435  IP: [192.*.*.*]

[F10]キーはWindowsでシステムメニューを表示するキーに割り当てられて
いるので、通常のキー入力ではなく、システムキー入力でハンドルする
必要があります。

編集    削除
ひで  2005-07-17 01:39:20  No: 58436  IP: [192.*.*.*]

RAPTさんご回答ありがとうございました。
ご指摘のとおり、WM_KEYDOWNのほかにWM_SYSKEYDOWNでメッセージを識別する必要がありました。
また、F10のシステムデフォルトを無視するために、
CWinAppの派生クラスにもPreTranslateMessageを追加し、
F10の場合、リターンをTRUEで返しました。

編集    削除