首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

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

2012-03-25 
弹出对话框怎么使用主对话框中的全部变量弹出对话框怎么使用主对话框中的CString m_StrBuf例如主对话框是d

弹出对话框怎么使用主对话框中的全部变量
弹出对话框怎么使用主对话框中的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);} 

热点排行