• 締切済み

ダイアログのWM_KEYDOWNで処理を実行したい

現在、VC++6を用いて、MFC を使わずにアプリケーションを作っている初心者です。 最終的にはWIN_CEハンディーターミナルで動作させる予定です。 ダイアログにフォーカスがある状態で、"↓"キー入力があった場合に処理を行いたいのですが、 ダイアログ及び親ウインドウにWM_KEYDOWNが発生していないみたいなのです。 (SPY++にて確認しました。) DialogBox、CreateDialogの両方でやってみたのですがうまくいきません。 なにか良い方法はありますか? よろしくお願いします。

みんなの回答

回答No.1

詳しくないのでトッケンハッケンかもです。 IsDialogMessage関数は使ってますか? この関数、タブキーが押されるとフォーカスを移したり、 [↓]キーが押されると次のコントロールを選択してくれたり するっぽいんですが。 リンク先はMSDNのIsDialogMessageのところです。

参考URL:
http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_isdialogmessage.htm
sobirupa
質問者

お礼

回答ありがとうございます。 まず、"トッケンハッケン"が良く分かりません。専門用語ですか? IsDialogMessage関数は使っていません。 MSDNで調べて使ってみます。 自分なりに調べてみたのですが、どうやら、 "サブクラス化"or"HOOK"とかにより可能なのかな。と感じています。 どちらもよく分からないのですが、サブクラス化のほうが、資料も多くとっつき易そうなので、こちらの方法でやってみようと思っています。

関連するQ&A