MFCのダイアログアプリでダイアログを閉じた後メッセージボックスが表示できない

投稿者: | 2015/11/20 金曜日

Win32ではPostQuitMessage()を呼んだあとGetMessage()がFALSEを返すまでの間はメッセージボックスが表示できないようだ。

解決法1:
以下の行を削除する。MFCはm_pMainWndが閉じられたときPostQuitMessage()を呼ぶのであらかじめセットしなければ呼ばれない。


解決法2:

ダイアログを閉じた後メッセージループを回してキューを空にする。

PumpMessageはGetMessageがFALSEだとFALSEを返す。通常1回しか呼ばれないはず。この後ならメッセージボックスを表示できる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です