弹出对话框如何使用主对话框中的全部变量

弹出对话框怎么使用主对话框中的全部变量
弹出对话框怎么使用主对话框中的CString m_StrBuf
例如主对话框是dlg1;
dlg2是DoModal();出来的

------解决方案--------------------
在dlg2类的构造函数中加上参数CString m_StrBuf。初始化dlg2的时候加入参数m_StrBuf。
------解决方案--------------------
也可以根据句柄去访问dlg1的成员变量

dlg2的类里添加 Cdlg1* dlg;
然后在dlg1里

dlg2.dlg = this;
dlg2.DoModal();

然后dlg2的cpp里直接 dlg->m_StrBuf 之类的就行了


------解决方案--------------------
探讨
也可以根据句柄去访问dlg1的成员变量

dlg2的类里添加 Cdlg1* dlg;
然后在dlg1里

dlg2.dlg = this;
dlg2.DoModal();

然后dlg2的cpp里直接 dlg->m_StrBuf 之类的就行了

------解决方案--------------------

C/C++ code

/*
何必搞这么复杂、、、、、

1、在主对话框类的 xxx.cpp 文件里声明一个全局变量   CString m_StrBuf="XXXXX";(不要放到类的头文件里);
2、在弹出对话框类的 xxx.cpp 文件里声明一下这个全局变量  extern CString m_StrBuf;
3、然后,你在弹出对话框类的函数里,想怎么用就怎么用,例如在其初始化函数里如下所示调用
*/
BOOL 弹出对话框::OnInitDialog() 
{
    CDialog::OnInitDialog();
    
    // TODO: Add extra initialization here
    SetDlgItemText(IDC_EDIT1,m_StrBuf);
    UpdateData(FALSE);
}