アクセラレータとダイアログボタンの関連付け

[戻る]
kaz 2002/03/19(火) 19:47:33
はじめまして。現在、MFCでアプリを開発しています。

リソースのアクセラレータ(例-ID:ID_BUTTON、キー:VK_F11、タイプ:VIRTKEY)を
任意のダイアログのボタン(例-ID:ID_BUTTON)と関連付けて、F11が押されたときにボタンの
OnClickメソッドに飛ばしたいのですが、うまく動作しません。
どなたか解決法をご存知でしたら、お教えください。

Bun 2002/03/20(水) 08:49:25
ダイアログベースなら

TranslateAccelerator()を実装する必要があるのでわ? (^^;

くたくた 2002/03/20(水) 10:33:20
初期化段階でLoadAccelerators()、
PreTranslateMessage()内でTranslateAccelerator()をやってみて下さい。

SDI、MDIのメインウィンドウでは フレームワークが自動的にこれらをやります。
(CFrameWnd::PreTranslateMessage()内でTranslateAccelerator()が呼ばれる)
しかしダイアログボックス系ではやらない為、自分でやる必要があります。

詳細はMFCのソースを追跡して下さい。

古いスレッドには追加発言できません。