没分了,请问我想关闭当前对话框,打开另一个对话框,并且我想把当前对话框的值传到另一个对话框,怎么办呀

解决方案 »

  1.   

    在对话框类中定义好相应的成员变量,关闭对话框后该变量的值不会改变,直接使用就可以了。
    class CFirstDialog : public CDialog{
    ........
    public:
       int m_First;
    ........
    }class CSecondDialog : public CDialog{
    ........
    public:
       int m_Second;
    ........
    }test(){
       CFirstDialog dlgFirst;
       CSecondDialog dlgSecond;
       dlgFirst.DoModal(); // 该对话框过程中改变了m_First的值   dlgSecond.m_Second = dlgFirst.m_First; // 这里可以直接引用
       dlgSecond.DoModal(); 
    }
      

  2.   

    在头文件中定义了:
    public:
    CPhotoAutoCheckDlg * m_pPhotoAutoChcekDlg;
    在Cpp中有
    void CSetParamter::OnbtnJianChe() 
    {
      this->DestroyWindow(); //关闭当前对话框
         //---------------------
         if(m_pPhotoAutoChcekDlg==NULL)
     {
        m_pPhotoAutoChcekDlg= new CPhotoAutoCheckDlg;
    m_pPhotoAutoChcekDlg->Create(IDD_dlgZhiDong,this);
     }
         m_pPhotoAutoChcekDlg->ShowWindow(SW_SHOW);//到这里可是把两个都关了。
    }