无法使用MFC中的SW_Show在其类中显示对话框?

无法使用MFC中的SW_Show在其类中显示对话框?,mfc,dialog,Mfc,Dialog,我正在尝试使用对话框创建一个类似向导的结构…因此我替换了CDialog1App中的代码,如下所示 CDialog1Dlg* dlg = new CDialog1Dlg; m_pMainWnd = dlg; dlg->Create(IDD_DIALOG1); dlg->ShowWindow(SW_SHOW); 上面的工作很好…它使对话框不愉快。但是我添加了另一个对话框。。。 因此,在第一个对话框中,如果用户单击“下一步”,则必须隐藏第一个对话框并显示第二个对话框 //CDialog1

我正在尝试使用对话框创建一个类似向导的结构…因此我替换了CDialog1App中的代码,如下所示

CDialog1Dlg* dlg = new CDialog1Dlg;
m_pMainWnd = dlg;
dlg->Create(IDD_DIALOG1);
dlg->ShowWindow(SW_SHOW);
上面的工作很好…它使对话框不愉快。但是我添加了另一个对话框。。。 因此,在第一个对话框中,如果用户单击“下一步”,则必须隐藏第一个对话框并显示第二个对话框

//CDialog1类

void CDialog1Dlg::OnBnClickedNext()
{
    // TODO: Add your control notification handler code here
    CDialog2* dialog2 = new CDialog2();
    dialog2->Create(IDD_DIALOG2);
    dialog2->ShowWindow(SW_SHOW);
    this->ShowWindow(SW_HIDE);
}
在上面的代码中,我正在为Dialog2类创建一个对象,并试图显示。。。。
现在的问题是,当我单击“下一步”时,它隐藏了两个窗口。我可以做什么。我尝试了几种类型,但它仍然不起作用。请不要建议我使用PropertySheet。它会起作用的,我知道…但出于某种原因,我希望使用此对话框。您正在创建带有默认父窗口(NULL)的对话框2:

但在您的案例中,默认的父级似乎是dialog1。由于隐藏了dialog2的父级dialog1,dialog2也被隐藏

查找主应用程序对话框的窗口(CWnd)(如果在向导之外有一个可见窗口),或将桌面窗口用作父窗口

例如:

dialog2->Create(IDD_DIALOG2, GetDesktopWindow());
dialog2->Create(IDD_DIALOG2, GetDesktopWindow());