2013-07-26 67 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