程序时基于对话框的,初始对话框上有个设置按钮,点击后弹出一个对话框,进行属性设置。设置完成后点击确定,对话框关闭,回到初始对话框。初始对话框是有各种功能,其中要用到设置对话框中设置的数据。谁能告诉我怎么实现的?
还有,响应设置按钮的时候代码是
         CDialog SDlg(IDD_IMAGETOOL_SETTING);
SDlg.DoModal();
哪错了么?是可以弹出对话框,不过对话框中Edit空间不能和相关变量进行交互,得不到Edit中的值,也不能设置其中的值。
两个问题,谢谢啦,我很菜,希望尽可能讲得清楚些。越详细越好。谢谢啦~~~

解决方案 »

  1.   

    比如你要弹出的对话框所在的类是Mydlg;那么你可以在初始对话框上有个设置按钮的响应函数中写:
    Mydlg dlg;
    if(dlg.==IDOK){
      //写你要设置好的东西传给当前对象,比如你这个类中有个变量zhanghao你想设置它
      zhanghao=dlg.zhanghao;//zhanghao是Mydlg 类的一公有成员变量
    ........
               
    }当然在Mydlg中的“确定”按钮的响应函数最后一句要是:
    CDialog::OnOK();
      

  2.   

    郁闷!
    if(dlg.DoModal()==IDOK){
    ...........
    }
      

  3.   

    定义一个初始对话框类的全局指针,
    在xxxDlg类的.cpp文件中,不在函数里。
    xxxDlg  *quanjudlg=NULL;在xxxDlg的构造函数中:
    quanjudlg=this;在用到xxxDlg中的数据的地方:
    extern xxxDlg  *quanjudlg;当然头文件要包含进去。对话框中Edit空间不能和相关变量进行交互:
    UpDateData(true);//将编辑框中的内容更新到与之相关的变量中