2013-10-11 43 views
0

是否有類似於顯示消息框而不是光標動畫的CWaitCursor?顯示阻止消息框

在我的MFC GUI應用程序中,我想在調用長時間運行的函數之前顯示消息框「Please wait ...」,然後在函數完成後關閉消息框。用戶不應該關閉消息框。

謝謝。

+3

雖然我至少會提供一個取消按鈕以允許用戶退出,但這可以通過簡單的對話框輕鬆完成。 –

回答

0

您可以使用非模態對話框或簡單的帶有靜態控件的彈出窗口。 訣竅是使用UpdateWindow/RedrawWindow將其帶入視圖並強制窗口來更新它。

當程序處於長時間運行狀態並且不泵送任何消息時,可能會出現問題。這種情況下,窗口可能被覆蓋和未被覆蓋,並且沒有消息循環它不會被再次繪製。

因此可以創建新窗口,設置焦點並禁用主窗口。比較長的操作開始時,您可以泵送消息。

更簡單的做法可能是將冗長的操作放在第二個線程中,並在主線程中顯示帶有消息循環的對話框,等待進程結束。