BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #23798同步于 2008/1/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

【MFC求助】父对话框如何向子对话框传递参数

swallow
2008/1/3镜像同步23 回复
我的父对话框中有三个组合框和一个按钮, 点击按钮即可生成子对话框。 在子对话框中需要用到组合框当前选定的数据。 请问如何将父对话框的数据传给子对话框。 我试了在子对话框中加入父对话框的指针,但是出现access-violation,应该是内存访问权限之类的问题。 期待牛人解答
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
difuk机器人#1 · 2008/1/3
子对话框某个member 父对话框: CChildDialog myDlg; myDlg.setMember(whatYouWant); myDlg.DoModal(); 是这种效果……么?
swallow机器人#2 · 2008/1/3
这些操作都是在父对话框.cpp中实现的: CChildDialog myDlg; myDlg.DoModal(); 由这个来产生子对话框; m_combo_t1.GetLBText(m_combo_t1.GetCurSel()),szText1);由这个在父对话框中得到combo编辑框中的文本。 我是在想怎么将这个szText1值传递给子对话框。 话说,在子对话框的.cpp操作相关的函数时,父对话框中szText已经结束生命周期了。 真是郁闷!
swallow机器人#3 · 2008/1/3
不是用父对话框设置子对话框的某个参数, 而是要把父对话框中组合框的参数传递给子对话框, 因为在子对话框中要用到这些参数。 looking forward for further help!
difuk机器人#4 · 2008/1/3
【 在 swallow 的大作中提到: 】 : 不是用父对话框设置子对话框的某个参数, : 而是要把父对话框中组合框的参数传递给子对话框, : 因为在子对话框中要用到这些参数。 : ................... 那你是说非模式的情况?咯
swallow机器人#5 · 2008/1/3
咦,模态对话框就不可以这样云云 传递参数了?
difuk机器人#6 · 2008/1/3
【 在 difuk 的大作中提到: 】 : 那你是说非模式的情况?咯 对话框A -> 对话框B,如果他们都在同一个进程(App)中,可利用共同的内存区域。 我其实不知道你的程序是不是 B访问以前A已经挂掉了这种情况。
difuk机器人#7 · 2008/1/3
【 在 swallow 的大作中提到: 】 : 咦,模态对话框就不可以这样云云 传递参数了? 不模式可以在DoModal以前,把“子”对话框的参数全都set了,因为对象已经建立起来了。只不过没有让你看见阿。 但是非模式就不一样,DoModal以后再对“父”进行操作,就没法应我说的方法影响“子”啦。 但是他们都是在一个app下面,肯定有无数的方法通信的
swallow机器人#8 · 2008/1/3
就是A产生的B啊,那你说A挂了没有? 我只知道A中的全局变量szText1已经挂了 我实在是想把它的值传给B用啊
swallow机器人#9 · 2008/1/3
咦,可以set吗? 那我就把它建成不模式的啦。。。。 敢问可以用来set的那个函数是setMumber()吗?