我在第一个对话框(CTestDlg)中创建第二个对话框CSecondDlg(点击第一个对话框上的“OK”按钮)时,代码是这样的:
void CTestDlg::OnOK() 
{
// TODO: Add extra validation here ///////////////////
//////////////////////////
UpdateData(TRUE);
CSecondDlg *pDlg = new CSecondDlg(this);
pDlg->Create(IDD_SECONDDLG_DIALOG,GetDesktopWindow());
pDlg->ShowWindow(SW_SHOW);

// CDialog::OnOK();
}这样,实现了弹出第二个对话框的功能。但是一旦关闭了第一个对话框,第二个也关闭了。
而我想关闭第一个对话框时,第二个不受影响,不能随之关闭。请大家给我支个招。或者用别的方法?

解决方案 »

  1.   

    你是不是创建的一个对话框应用程序?要是一个对话框应用程序的话,而CTestDlg是第一个对话框,在里面创建打开的对话框后,关闭第一个对话框,也就是应用程序对话框,当然肯定要把第二个对话框关闭了
      

  2.   

    我也在想这个问题,我想是不是能够不要能够换个父类来生成对话框,比如先获得CTestDlg的父亲,再用它来创建对话框,不知道可不可以,还没试过.
      

  3.   

    wsb_8224(人在江湖飘啊,哪有不挨刀呀)
    你的意思是说,如果要做这种效果的话,只能是建一个不是基于对话框的应用程序,然后再弄两个对话框出来,这样就没问题了吗?可是如果是这样的话,那个主窗口不想要又怎么办呢?怎么把它隐藏掉呢?
      

  4.   

    to Yibans(一般) 我也不知道怎么隐藏主窗口,因为一般隐藏后,所属的窗口都要隐藏