在基于对话框的程序中这样做可以嘛?
在对话框的ok按钮中处理:
void CMFCDialogTestDlg::OnOK() 
{
// TODO: Add extra validation here
CDialog dlg;
dlg.DoModal();// CDialog::OnOK();
}

解决方案 »

  1.   

    CDialog dlg;
    dlg.DoModal();
    关键是以上有错误,dlg必须create.
    以上两句放在任何地方都会出错
      

  2.   

    void CMFCDialogTestDlg::OnOK() 
    {
    // TODO: Add extra validation here
    CDialog dlg;

    // CDialog::OnOK();
    dlg.Create("  ");
    dlg.DoModal();
    }这样写可以嘛?还是报错,是不是Create用法错了啊?
      

  3.   

    先在resource中建一Dlg...IDC_TESTDLG,在根据该dlg创建一个类如CTestDlg
    然后CTestDlg dlg;
        dlg.DoModal();
    就不会错了直接用以下的demo一试,一般MFC生成的demo都已有CAboutDlg
             CAboutDlg dlg;
    dlg.DoModal();
      

  4.   

    要有对话框资源,以下即正确:
    void CMFCDialogTestDlg::OnOK() 
    {
    // TODO: Add extra validation here
    CAboutDlg dlg;
    dlg.DoModal();
    CDialog::OnOK();
    }