我建了一个基于对话框的应用程序,其中自动包含一个对话框CDlg1
我又插入了一个对话框,并用CW生成了一个类CDlg2
我在CDlg1的OnInitDialog()中用.DoModal弹出了对话框CDlg1
问题时,我现在关闭对话框CDlg2的时候,对话框CDlg1就会自动出现,我怎么样才能不让对话框CDlg1出现,在退出对话框CDlg2的时候,直接退出程序?哪位好心的大哥能帮帮小弟啊,刚学VC的,谢谢~

解决方案 »

  1.   

    在OnInitDialog()中这样写:
    CDlg2 dlg2;
    if (dlg2.DoModal()==IDOK)
    {
        CDialog::OnOK();
        //或return FALSE;
    }
      

  2.   

    很简单啊。你在OnInitDialog函数中调用CDlg2的DoModal后,下一句直接写CDialog::OnOK()或者CDialog::OnCancel()都可以直接退出,不会弹出CDlg1对话框叻。
      

  3.   

    你为什么要在OnInitDialog()中显示DLG2呢?这样将显示2个对话框DLG1和DLG2,只是DLG2是模式对话框,显示的时候覆盖了DLG1,所以在关闭DLG2时,DLG1就显示出来了
      

  4.   

    不知道你想要的是什么样的结果,
    怎么在OnInitDialog()中用.DoModal弹出另一个对话框?
    这样用太不好了。
      

  5.   

    谢谢大家,你们的办法我都试过了,不行~
    Caps77(二两指针)说的对,就是那种情况,有办法解决吗? 在关闭Dlg2时,不让Dlg1出现?
      

  6.   

    哦,行了行了,PostQuitMessage(0),谢谢 kathywp(树欲静而风不止);
    谢谢大家不吝赐教~