我做了一个主对话框,又通过按钮加了几个对话框,但是现在运行完子对话框之后点击确认按钮就全部关闭了,请问各位大侠,怎样才能运行完子对话框之后,又能返回主对话框,进行下一轮子对话框的选择呀?谢谢了!!急!

解决方案 »

  1.   

    子对话框的按钮事件里别写exit。
      

  2.   


    只要留默认的cdiaolg::onok()就可以了
      

  3.   

    没写exit呀,就是用的默认的呀,模态是什么意思呀?
      

  4.   


    默认会调用OnOK(); 要么重写“确认”按钮的响应函数,在里面不作退出处理,要么手动添加一个按钮还有ID别用IDOK
      
      

  5.   

    不是这个原因,系统生成的按钮控件会调用CDialog::OnOK(),但是它也只是将对话框销毁,并不会关闭主对话框,贴代码吧,上面说的并不正确。
      

  6.   

     你创建子对话框的时候,试试用类似这样的方式m_dlgChild.DoModal()来进行创建,一般不会出现你说的问题的。
      

  7.   

    你用的是不是非模态对话框啊?即用如下的方式创建的:CDlg*** m_pChildDlg = new CDlg***;
    m_pChildDlg.create(......);
      

  8.   

    如果使用模态对话框则不会出现你所说的问题:CDlg*** dlg;
    dlg.DoModal();
      

  9.   

    非模式对话框可以,删除默认的对话框的OnOK按钮。
    非模式对话框创建方式:
    CMyDlg* m_Dlg = new CMyDlg;
    m_Dlg->create(IDD_XXX,NULL);//IDD是对话框的ID