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

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

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


解決法2:

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)