当前位置: 代码迷 >> VC/MFC >> mfc各对话框的数据传递,该怎么处理
  详细解决方案

mfc各对话框的数据传递,该怎么处理

热度:55   发布时间:2016-05-02 03:31:04.0
mfc各对话框的数据传递
在vs2012中,新建一个基于对话框的程序,加了2个对话框,第一个对话框是没标题的,在里面有一个编辑框,第二个对话框(模态)有一按钮,
现单击按钮向第一个对话框传递一字符CString stt1="收到了"给编辑框;,我就知道子对话框怎样向主对话框传递数据(取主对话框指针),
这子对话框之间怎么传递数据还没搞明白,网上查了要指针,句柄,但还是没明白,
还有怎样取得子对话框的指针,及句柄
麻烦大家教教我,谢了,
------解决思路----------------------
和其他类之间传递数据没什么区别

CDialog 1 dlg;
dlg.data=this->data;
if(dlg;DoModal()==IDOK)
{
    this->data=dlg.data;
}
------解决思路----------------------
对于模态子对话框
可以在栈内创建
直接用类成员变量传
sonDlg.m_x=123;
sonDlg.DoModle();

对于非模态对话框 要在堆内创建
sonDlg* pson=new sonDlg;
pson->Create(...);
如果想记住这个堆的地址
仍然可以将它记为成员变量
m_pson=pson;
如果想让子对话框知道它的父对话框的地址
pson->m_father=this;  //m_father 是sonDlg的指针成员变量

这样一来 父可以知道子的所有信息,子也可以知道父的所有信息


------解决思路----------------------
有两种方法,第一种,调用postmessage,第二种,给模态对话框添加变量。

不明白的话加我QQ:280604597
  相关解决方案