2012-06-06 33 views
0

我是否必須使用一個對話框或消息其實並不重要,但我需要以某種方式做到以下幾點:我怎麼辦酷對話框東西(MFC)

我有一個基於對話框的MFC應用程序。主對話框調用創建線程的過程。該過程的調用在while循環內部。 (基本上它是一個文件處理程序 - 產生一個文件保存的線程,因此,爲每個正在保存的文件生成一個線程。)

我暫停並正確地恢復主線程。然而,我不知道如何得到一個消息框/對話框來顯示說「類似請稍候」,仍然有主對話框更新... 0.o

基本上,我想鎖定主要從用戶交互(如保持他們選擇任何東西或點擊任何按鈕),但我希望對話框上的進度條更新...

任何想法?

+1

有點老,但沒有工作:http://www.microsoft.com/msj/0297/wicked/wicked0297.aspx – Flot2011

+0

這正是我所期待的!謝謝!你介意給出一個答案,我可以給你信用嗎?謝謝! – redhotspike

回答

0

好了,這是很老的應用程序。

您不需要遵循此示例;但是你可以遵循這個想法。

您有兩種選擇: 在主對話框中創建進度條,禁用所有對話框但取消進度。開始線程傳遞對話框的句柄。從線程使用此句柄發送自定義消息以允許對話推進進度。 另一條消息會通知對話框該線程已完成並啓用所有控件。

另一種選擇是產生非模態對話框,如上所述啓動線程傳遞非模態對話框的句柄和過程。 將主對話框指針傳遞給無模對話框,用於在無模式啓動(OnInitDialog)時禁用和啓用主對話框,並在接收到線程完成消息時啓用,然後銷燬無模式對話框窗口。