- ベストアンサー
キーボード入力について
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ダイアログベースのアプリは、CDialogが基底となっていて、IDOKまたはIDCANCELの メッセージを受け取ると。それぞれ、CDialoog::OnOK()、CDialoog::OnCancel()が 実行されて終了します。 [Enter]はIDOK、[ESC]はIDCANCELのメッセージが発行されているので終了しています。 この2つのキーで終了させなくする方法で手っ取り早いのは、ダイアログのクラスに virtual void OnOK() {;} virtual void OnCancel() {;} を追加してやれば終了しなくなります。 本当に終了したいときは、別途メッセージを作成して、そのメッセージを受け取った ときに、CDialoog::OnOK()またはCDialoog::OnCancel()を実行して終了してください。
関連するQ&A
- 名前を付けて保存パネル等でESC/ENTER無効にする方法
MFCにて自分でつくったダイアログに対してESC/ENTERを無効にする方法はわかりましたが、名前を付けて保存や印刷パネルなど元からあるパネルのESC/ENTERを無効にする方法はありますでしょうか?
- 締切済み
- C・C++・C#
- キーボード入力で、各ボタンに割り付けた処理を行いたい
現在、VC++6を用いて、MFC を使わずにアプリケーションを作っている初心者です。 ダイアログboxにボタンコントロールを5個つけました。 キーボード入力で、各ボタンに割り付けた処理を行いたいのですが、 簡単な方法はありますか? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- MFCのCDialogクラスについて、、、
環境:VC6.0、MFC、WinNT4.0 普通のモードレスダイアログを作成して、メニューから呼び出すようにしました。 デフォルトについてくる「OK」「Cancel」ボタンは要らないので削除しました。 ところが、アプリケーションを実行して作成したダイアログを呼び出した後、「Enter」或いは「Esc」キーを押すとダイアログが消えてしまいます。 それが消えないようにしたいのですが、、、 ご指導お願いします。
- ベストアンサー
- C・C++・C#
- ダイアログベースでのキー入力について
現在Win2000、VC++6.0でダイアログベースのアプリを作っています。 ボタンの存在しないダイアログにしているので、 終了するにはタスクバーから閉じるか、ALT+F4キーだけしかないと思っていましたが、 Enterキーを押すと終了してしまうことに気づきました。 このEnterキーを押すと終了してしまうのを回避するには どうしればいいのでしょうか? それと、もう一つ質問なのですが、 WM_CHARメッセージハンドラを追加しましたが、 キーを入力してもOnChar関数にやってきません。 (デバッグでブレークポインタを置いてみたのですが・・・) なにを間違えているのかが分かりません。 どうぞよろしくおねがいします。
- ベストアンサー
- C・C++・C#
- ダイアログベースのEXEでESCキーを押しても終了しないようにする方法
VC++ 6.0 でダイアログベースのEXEを造っています。 ESCキーを押すとEXEは終了しますが、ESCキーを無視して 終了しないようにするにはどうしたらよいでしょうか? 識者の方、ご教授願います。
- ベストアンサー
- C・C++・C#
- windows終了時のメッセージについて
いつもお世話になります。 VC++6.0MFCダイアログベースでデスクトップアプリ を作成しているものです。 アプリ終了でINIファイルにウィンドウ位置を記憶させ 次回起動時に終了位置に表示させているのですが、 アプリが立ち上がったまま、スタートメニューからウィンドウズ自体を 終了させた時、アプリにはどのようなメッセージが飛んできているのか どなたか教えていただけないでしょうか? よろしくお願い致します。
- ベストアンサー
- C・C++・C#
- MFCでデータベースを
はじめまして。 VC++の初心者なのですが、MFCで開発を行おうとしております。そこで、MFCでのデータベースの扱い方をおしえていただきたいのです。 MFCのダイアログベースで開発をしているのですが、そこからデータベースを読みに行ったりは可能なのでしょうか。 よいサイト等あれば教えていただけないでしょうか。よろしくお願いいたします。
- 締切済み
- C・C++・C#
- OSでの動作スピードの違い
こんにちは。 現在VC++6.0、Win2000環境でプログラムしています。 MFCでダイアログベースで、クライアント領域だけのダイアログウィンドウを作って、 勝手に移動したりするアプリを作っています。 Win2000環境ではバリバリと動くのですが、 OSをWin98にしてEXEファイルを起動すると めちゃくちゃ遅くなります。(CPUは同じ) 不思議なことに、別のウィンドウをアクティブにして、 そのクライアント領域で マウスカーソルをぐりぐり移動させると、動きが速くなるんです。 一応動いているところを見ると、Win98で使えないAPIを 使っているふうでもなさそうです。 どのような機能を使うと、こういった処理速度の違いが誘発されやすくなるのでしょうか? もしご経験の方や、推測が出来る方がいらっしゃいましたら、 どうか宜しくお願いします。
- ベストアンサー
- C・C++・C#
- vc++6.0で過去のソースコードを全て流用
いつもお世話になっております。 過去にvc++6.0のMFCを利用して作成したダイアログベースのアプリを 次に作ろうとしているアプリに流用したいのですが、方法がわかりません。 現状、過去に作成されたファイル(AAA.cppやAAA.dsp)を全部コピーして ファイル名を変えたり、dspの中身を変更したりしてもうまくいかないです。 簡単に全てのソースコードを流用する方法がありましたら教えて頂けないでしょうか? OSはWinddowsXPを使用しています。 よろしくお願いします。
- 締切済み
- C・C++・C#
- フォルダ参照ダイアログAPIをVBAに組み込んだときのESCキー押下
フォルダ参照ダイアログAPIをVBAに組み込み、フォルダ選択画面が表示されたとき、ダイアログ上の「OK」「キャンセル」以外に、キーボードの「ESC」キーを押下すると、VBAの「コードの実行を中止」ダイアログが表示されプログラムの実行が中断します。「ESC」キーを押下しても「キャンセル」と同等の処理で、「コードの実行を中止」ダイアログを表示しないようにできるでしょうか。お知恵をお貸しください。
- ベストアンサー
- Visual Basic