メッセージボックスのみ消したい – プログラミング – Home

メッセージボックスのみ消したい
 
通知
すべてクリア

[解決済] メッセージボックスのみ消したい


むせん
 むせん
(@むせん)
ゲスト
結合: 23年前
投稿: 33
Topic starter  

お世話になっております。
過去のログにでも今回の質問と同じようなのがあったのですが、それだけではわからなかったの
で再質問いたします。
MFCでダイアログボックス形式でプログラムを作成しています。
あるボタンを押してエラーのメッセージボックスがでます。
そのメッセージボックスをマウスのクリックやキーボードを押さずに関数を使って消したいと思
ってます。
DestoryWindow()を使うとダイアログボックス全部が消えてしまいます。
アクティブになっているメッセージボックスのみ消すような関数がありましたら教えてくださ
い。
よろしくお願いします。

Win98 VC6.0 MFC


引用未解決
トピックタグ
ku
 ku
(@ku)
ゲスト
結合: 25年前
投稿: 312
 

const int nEventID = 0x12345;
void CXXXDlg::OnOK()
{
SetTimer(nEventID, 1000, NULL);
MessageBox(test);
KillTimer(nEventID);
}
void CXXXDlg::OnTimer(UINT nIDEvent)
{
if (nIDEvent == nEventID) {
keybd_event(VK_RETURN, 0, 0, 0);
}
}
これでうまくいきましたので、keybd_event()を使えばよいと思います


返信引用
むせん
 むせん
(@むせん)
ゲスト
結合: 23年前
投稿: 33
Topic starter  

kuさん、アドバイスありがとうございます。
おかげさまで無事うまくいきました。
ありがとうございました!!!


返信引用
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 23年前
投稿: 196
 

>これでうまくいきましたので、keybd_event()を使えばよいと思います

他のアプリケーションが前面にある時でも大丈夫ですか?


返信引用
ku
 ku
(@ku)
ゲスト
結合: 25年前
投稿: 312
 

> 他のアプリケーションが前面にある時でも大丈夫ですか?
そうそう、条件がありますね
ユーザが自分でメッセージボックスを消したがWM_TIMERが
キューに残っているときとかの処理もね

そもそもメッセージボックスを出すには出すだけの理由があるのだから
それをどうして勝手に消すのかとかありますし
マウスクリックで終了するようにした
コンポーネントのスプラッシュスクリーンみたいにするのが負担が少なさそうだけど

「よいと思います」というのは言葉が足りませんでした
申し訳ないです


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました