このアプリケーションでは、表示する必要があるいくつかのデータを開いて処理するMFCダイアログがあります。したがって、OnPaint()イベントの内部で遅延処理が開始されます。処理 は時間がかかります(約20-30秒)、アルゴリズムのみです(UI APIは呼び出されません)。 何が起こるかは、処理が終了した後にウインドウが「消える」ことがあります。私たちはそれが親ウィンドウ(メインフレーム)の後ろに持ち込まれていることを知りました。時間がかかるOnPaint()の後にMFCダイアログが消える
処理が終了した直後、または非UIスレッドで処理を実行して(OnPaint()を妥当な時間内に終了させる)、この問題は解決されました。
この問題は知られていますか? OnPaint()の実行に定義された時間制限はありますか?
おかげで、
アレックス。
処理部分をコメントにして、ウィンドウがまだ消えていないか確認してください。 – zar