-PR-
解決
済み

キーボード入力について

  • すぐに回答を!
  • 質問No.92513
  • 閲覧数230
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 10% (4/39)

VC++6.0MFCのダイアログベースでデスクトップアプリを作成しています。

現状ですが、まずEscとEnterをクリックすると、
アプリが終了してしまいます。
なぜかわからないのですが、
そもそもキーボード入力を無効にしたいのです。
SetWindowsHookExというAPIを使えばできそうなんですが、
いかんせん、初心者でしてどの部分でどのような記述を
すればいいのかがわかりません。
どなたかご教授ください。
よろしくお願いいたします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル6

ベストアンサー率 80% (4/5)

ダイアログベースのアプリは、CDialogが基底となっていて、IDOKまたはIDCANCELの
メッセージを受け取ると。それぞれ、CDialoog::OnOK()、CDialoog::OnCancel()が
実行されて終了します。
[Enter]はIDOK、[ESC]はIDCANCELのメッセージが発行されているので終了しています。

この2つのキーで終了させなくする方法で手っ取り早いのは、ダイアログのクラスに
  virtual void OnOK() {;}
  virtual void OnCancel() {;}
を追加してやれば終了しなくなります。

本当に終了したいときは、別途メッセージを作成して、そのメッセージを受け取った
ときに、CDialoog::OnOK()またはCDialoog::OnCancel()を実行して終了してください。
関連するQ&A
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ