在我們的應用程序中,我們有一個MFC對話框,它打開並處理一些需要顯示的數據。因此,處理是在OnPaint()事件內懶惰地啓動的。處理 需要一些時間(大約20-30秒),並且完全是算法的(沒有UI API調用)。 會發生什麼情況,有時在處理完成後窗口「消失」。我們發現它被帶到父窗口後面(主框架)。耗時費時後,MFC對話框消失OnPaint()
處理完成後立即調用SetForegroundWindow(),或者在非UI線程中執行處理(讓OnPaint()在合理的時間內完成)已消除該問題。
這個問題是否已知? OnPaint()執行有沒有定義的時間限制?
謝謝,
Alex。
你應該評論處理部分,看看窗口是否仍然消失,以縮小它。 – zar 2012-03-05 14:19:40