2013-07-26 65 views
0

我有一個無模式對話框。當我嘗試從那裏做一個.DoModal()時,它會顯示對話框,但它仍然允許您與無模式對話框進行交互。無模式對話框中的MFC C++顯示模態對話框

這是我如何創建無模式對話框: MyMainEditorWindow = new CMyMain(this); MyMainEditorWindow-> Create(CMyMain :: IDD,GetDesktopWindow()); MyMainEditorWindow-> ShowWindow(SW_SHOW);

做一個模式之一,從該模式窗口,我做

的CMyDlg myDlg; int dialogbox = myDlg.DoModal();

有沒有辦法做我想要的?無模式窗口中的對話框會使窗口等待,直到它被確定。

+0

編輯不會改變答案。 * modal *對話框需要有* modeless *對話框,因爲它是父級對話框。 – Joel

回答

2

您需要在模式對話框的構造函數中設置父窗口。對於CDialog構造函數的文檔說,如果將它設置爲NULL,它將使用主應用程序窗口作爲父項,如果未指定,則默認爲NULL

+1

+1我總是嘗試設置父(它幾乎總是'this'),而不是使用默認的NULL – franji1