• 締切済み

マウス移動イベントでMessageBox終了

Visual C++ 2010 Expressでプログラム開発している初心者です。 現在、オペレータに確認させるため、MessageBox::Show()によりメッセージを表示して OKボタン押下により、MessageBoxを終了しておりますが、ボタン押下する前に マウス移動イベントにより、MessageBoxを終了できないか、調査しております。 MessageBoxのメソッドには、このような機能はないようなので、自前で作成するしか ないかな、と考えております。 その場合には、まず (1)ウィンドウを作成し、マウスイベントを取得できるプログラムを登録 (2)ウィンドウ(メッセージ含む)表示 (3)マウスイベントを取得 (4)イベント解析 (5)ウィンドウ終了 上記のように動かすには、初心者の自分にはとても難しいので 他に方法はないでしょうか? こんな方法があるよ、とヒントでも構いませんので、是非ご教示ください。 よろしくお願い致します。

みんなの回答

回答No.1

マウスをちょいとズラすだけで消えるよなメッセージがオペレータへの確認になるんですか?

jean69
質問者

補足

はい、オペレータがいちいち、ボタンをクリックしたくないとのことで マウスを触ることで、確認したことにしてMessageBoxを終了したい との仕様になりました。 ネットで調査すると、投稿したような感じかな、と思ったのですが 新しく、フォームを作って、そこでマウスのイベントを監視できないかな と、今は考えています。この方が簡単かなと、、、、、、 以上、よろしくお願いします。

関連するQ&A

  • イベントとスレッド

    Java初心者です。 イベントとスレッドに関する質問です。 Swingを使ったアプリケーションを作成しているのですが、 以下のような現象が起きています。 1. ボタンが配置されているダイアログ(A)で、そのボタンを押下する。 2. ボタンを押下したときに実行されるメソッドで、スレッドを作成する。 3. その作成されたスレッドで、JOptionPane#showOptionDialogを実行して、ダイアログ(B)を表示する。 4.(B)が表示されている状態で、別のウィンドウで隠し、再度表示させると、(B)に配置されているボタンが押せなくなる。 4.で(B)のボタンを押せるようにしたいのですが、 うまくいきません。 スレッドとかイベントが関係していると思うのですが、 何しろ初心者なもので、よく理解していません。 実際のプログラムをお見せすることが出来ないので分かりずらいかもしれませんが、何かお気づきのことがあれば 教えて頂けないでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Java
  • マウスポインタを移動させるには

    C++でプログラムしています。 MessageBoxのOKのボタンの上にマウスカーソルを移動させるAPI関数を教えてください。

  • MessageBox()について

    ■C言語とWIN32APIで下記の様にコーテイングしています。 ■MessageBox(NULL,text,"条件",MB_YESNO); [質問-1] ・[はい][いいえ]の2個のボタンが表示されるが、当初からカーソルが[はい]ボタンの上にある様に出来ませんか? [質問-2] 表示位置や表示サイズなどを制御出来ませんか ウインドウの場合、下記の関数など使用して対応しました ・GetWindowRect(); ・SetCursorPos(); ・GetCursorPos(); ・SetForegroundWindow(); ......... ......... MessageBox()の場合はどうすれば良いですか?

  • プログラムの終了画面を出さない方法

    こんにちは。palbanです。 タイトル通り、あるプログラムが実行中にシステムの 終了ボタン(×ボタン)を押下した時プログラム終了 画面が出てきます。メッセージは以下の通りです。 タイトル:  プログラムの終了-プログラム名 内容: このプログラムは応答していません。 Windowsに戻ってプログラムの状態を確認するには、 [キャンセル]をクリックしてください。 プログラムをここで終了した場合は、保存されて いないデータが失われる可能性があります。 プログラムを直ちに終了するには、[すぐに終了] をクリックしてください。 実行中のプログラムの終了ボタンを押下してもこの メッセージ画面を出さないようにするにはどうすれ ばよろしいでしょうか? OSはWin2000Pro SP4です。 ちなみにWinNT SP6では上記のメッセージ画面は でませんでした。

  • 【C#】 FormClosingのイベントの追加

    C#のプログラミングにて不正な動きをして困っております。 ご存知の方に教えていただきたく思います。 稚拙な質問かも知れませんがご容赦のほど。 【要求】 画面の×ボタン、もしくは終了ボタンが押された時に 確認メッセージを表示して「いいえ」が押されたらフォームを閉じないようにしたいということです。 【構造・実装】 画面構造は、親画面と子画面があり、子画面はモーダルで表示しています。この子画面にFormClosingのイベントを付加しています。 【現象】 (1)親画面起動→終了ボタン押下→メッセージなしで終了 (2)親画面起動→子画面起動→子画面終了ボタン押下→メッセージ表示  →親画面終了ボタン押下→メッセージ表示 なぜか、子画面に付加したイベントが親画面にも引き継がれているようです。 理由と対処方法をご存知の方がいらっしゃいましたらご教授願います。

  • MessageBoxについて

    次のようなプログラムを作りました。 /*ウィンドウプロシージャ内*/ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){   ・・・  case WM_LBUTTONDOWN:    hantei(hWnd);    break;   ・・・ } /* 判定関数 */ void hantei(HWND hWnd){   MessageBox(hWnd,"テスト","テストです。",MB_OK); } このようになって動かしてみた(左クリックした)ところ、 ウィンドウ自体は非アクティブになったのですが、 BEEP音が鳴るだけで肝心のメッセージボックスが表示されません。 ALTキーを押すと表示されるのですが・・・ 左クリックをするとすぐにメッセージボックスを表示させるにはどうしたらよいのでしょう? 言葉足らずの説明かもしれませんがお願いします。

  • MessageBoxの閉じるボタン

    こんにちわ。 いまVB.NET2003で開発をしている者です。 MessageBox.Showでメッセージボックスを表示する処理 をコーディングしていますが, メッセージボックスダイアログの[閉じるボタン]を無効に するにはどうすれば良いでしょうか? 教えてください。よろしくお願いします。

  • FocusLostでイベント処理を中断させたい

    TextFieldでフォーカスを失った時に 入力値をチェックするプログラムがあります。 入力値が不正な場合、メッセージを表示します。 また、終了ボタンで終了するか確認するメッセージを 表示します。 このとき、TextFieldに不正な値を入力し、 終了ボタンを選択するとメッセージが2回表示されます。 TextFieldのFocusAdapterのFocusLost処理により、 他のイベント処理をさせないようにしたいのですが、 戻り値がvoidということもあり、 制御でなきないのでしょうか? よい方法はありますか? キーイベントとマウスイベントで フォーカスのあるコンポーネントを保持し、 変更されたら入力値チェックを行う。 と考えてみましたが、何か問題が起きてしまいそうで。 よろしくお願いします。

  • MessageBoxのことで聞きたいのですが…

    int i; int tmphyoukachi[KYOKU_SHUDAN]; bool cancel_flag; cancel_flag = false; ~~~~~~~~~ /*ユーザー評価(ダイアログでYES・NO)*/ int Rslt; Rslt = MessageBox(NULL, "", "",MB_YESNOCANCEL); if (Rslt == (IDYES)){ //Rslt = MessageBox(NULL, "YES","",MB_OK); kyoku[i][0] += 50000; } else if(Rslt == (IDNO)){ kyoku[i][0] -= 50000; }else if(Rslt == (IDCANCEL)){ cancel_flag = true; } mciSendString("close MIDIFILE",NULL,0,NULL); if(cancel_flag == true){ break; } } return cancel_flag; というような遺伝的アルゴリズムを用いて自動作曲システムを作りました。これはプログラムの一部なんですが、MessageBoxでカウントして何回目で終了というようなプログラムを作成したいのですが、どなたか分かるかたがいらっしゃいましたよろしくお願いします。

  • ロストフォーカスイベントとその他のイベントの関係

    ロストフォーカスイベント時のその他のイベント(ボタンイベント)の中止方法 フィールドのロストフォーカスイベントで3文字以上入力していた場合に エラーメッセージを表示する。 フィールドに4文字値を入力して、フォーカスをフィールドにあてたまま ボタンを押下するとロストフォーカスイベントが走り、 同時にボタンイベントも発動してしまいます。 ロストフォーカスイベント時にエラーが発生している場合は、 ボタン押下処理を中止するようにしたいのですが、可能でしょうか? 検証は、Java1.6で行っています。

    • ベストアンサー
    • Java

専門家に質問してみよう