作者:Justine-zhu | 来源:互联网 | 2023-05-18 20:54
就如A主窗口、B子窗口(对话框)
由A调B,然后在B中填入欲更新的值
返回B中新的值,然后更新A窗口
如何做??请教,有示例更好
4 个解决方案
在B子窗口中设一个A窗口类指针,在建立B子窗口时将A对象指针传进B子窗口:
BDialogcall Bdlg;
Bdlg.p_Adlg = this;
然后DoModal或者建立并显示B子窗口。
在B子窗口需要更新输入数据的地方,把输入的数据传给A父窗口:
p_Adlg->A_data = B_data; //A_data为在A主窗口中的数据变量,B_data为得到的数据变量。
这样就可以了。
看起来很清楚
但是做起来就错了
不明白的是Bdlg.p_Adlg = this;
p_Adlg 是怎么来的
上面的做法如果是A、B都是CDialog类派生的就没出现错误
A为CFormView而B为CDialog时就不对了