ファンクションキーF10押下が認識できません。
CViewの派生クラスの中でPreTranslateMessageにて、ファンクションキーF1からF12までの押下を認識する部分で、DEBUG,RELEASE双方のモードでF10のみ他のシステム系のエントリーに入り、プログラムでは認識できません。
また、DEBUGモードの時F12の押下でVisualStudioのブレークポイントの表示がでます。
ご存じの方よろしくお願いいたします。
環境 WindowsXP,VisualStudio 6.0 C++ MFC MDI。
[F10]キーはWindowsでシステムメニューを表示するキーに割り当てられて
いるので、通常のキー入力ではなく、システムキー入力でハンドルする
必要があります。
RAPTさんご回答ありがとうございました。
ご指摘のとおり、WM_KEYDOWNのほかにWM_SYSKEYDOWNでメッセージを識別する必要がありました。
また、F10のシステムデフォルトを無視するために、
CWinAppの派生クラスにもPreTranslateMessageを追加し、
F10の場合、リターンをTRUEで返しました。
ツイート | ![]() |