2013-02-20 38 views
1

現在我正在開發一個實時軟件,但是我自己實現了使用C++ Builder 2007進行確認消息的窗體(您知道,那些帶有「確定」和「取消」的對話框或者只有在出錯時纔可以),並且我讀了Windows MFC上有一個DialogBox類。問題在於調用會中斷線程,直到在對話框上完成一些輸入爲止,這是我無法承受的,因爲應用程序可能會發生另一件事情。C++上的Windows上的同步對話框

我讀過無模式對話框,但我不確定這是我需要什麼或如何實現。 Windows MFC上是否有默認的同步對話框,如果有,我該如何調用它?

+1

你應該使用線程。 _不要在主UI線程上進行繁重的工作(CPU密集型)。它的Windows 202(不完全101,但仍然很基本) – enhzflep 2013-02-20 11:26:44

+0

我應該使用線程確認消息?所以我會在這個新線程上調用對話框而不是主線程,並在關閉後返回值? – dccarmo 2013-02-20 11:37:46

+2

http://msdn.microsoft.com/en-us/library/windows/desktop/ms644996(v=vs.85).aspx#modeless_box – neagoegab 2013-02-20 11:39:20

回答

2

你不需要線程,你需要無模式的對話框...他們最終成爲同一個調度線程上的窗口。

+0

顯示它們,而不是在堆棧上創建對象並使用'DoModal()',那麼'new'對象就會自己執行'Create'。 – mark 2013-02-20 12:45:18

+0

我會嘗試使用它,並會報告回來!謝謝馬克! – dccarmo 2013-02-20 13:09:03