两个模态对话框的变量怎么传递参数?

sayu_yangyou 2001-12-24 02:23:45
比如A对话框产生B对话框,在B中改参数,要求A当中作出相应的变化,而B不退出。
...全文
340 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
sayu_yangyou 2001-12-28
  • 打赏
  • 举报
回复
我也不知道为什么,第一次做的时候,它就说不行,不让我定义,说少了分号什么的,总之是不行,不的其解。后来又做,有可以了,不明白。
不管怎样,都谢谢大家了。
Elminster 2001-12-26
  • 打赏
  • 举报
回复
sayu_yangyou(萨虞.扬尤),请你把具体的错误帖上来看看。因为这个做法肯定可以实现,我刚才就顺手实现了一下,功能实现没问题。

kenwhale(屠夫),你的想法不对,等待 B 结束的仅仅是 A 的一个函数而已,A 类对象的其他函数完全都可以执行,就算 B 阻塞了对话框 A 的消息循环也没关系:对话框中的控件是各自独立的子窗口,它们有自己的消息循环。
zhangnanonnet 2001-12-26
  • 打赏
  • 举报
回复
我也遇到过同样的问题,我当时定义了一个新类,用来定义,传递变量,是可行的,其实用全局变量是最方便的方法,就是有点。。。
kenwhale 2001-12-26
  • 打赏
  • 举报
回复
?按照各位的方法可以实现吗??我认为,a产生b对话框后就在等待b的结束了,因为是模态对话框!所以在b结束前,a根本就没有执行的机会的!如果发消息的话更有可能会造成死锁而使程序崩溃。
我建议还是做成非模态对话框,否则的话考虑多线程。个人看法,大家多讨论讨论。
sayu_yangyou 2001-12-26
  • 打赏
  • 举报
回复
Elminster() 我就是按照你的方法做的,我也包含头文件了,也声明指针变量了,可是编译的时候就出现错误,它说不能声明指针型的。就这样。
不论怎样,还是要谢谢你的帮助。
Elminster 2001-12-25
  • 打赏
  • 举报
回复
“它就不让你定义成指针的变量”?你不能在 B 类中添加类型为 A 类指针的成员吗?猜的没错的话:

你在 B 类的头文件中要 #include A 类的头文件(如果是指针的话前向引用一下也成,就是在头上加一句 class A;),B 类的 cpp 文件中也要 #include A 类的头文件。
luckyegg 2001-12-25
  • 打赏
  • 举报
回复
传给A后,记得update()啊
sayu_yangyou 2001-12-25
  • 打赏
  • 举报
回复
可是我试了,不行啊。
howard 2001-12-25
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/434/434283.shtm

各位高人,请帮忙看一下,如能解决,必500分相送
是关于网络文件传输的问题
georgehuang 2001-12-25
  • 打赏
  • 举报
回复
你这样做吧
你在VIEW类中定义一个函数,在B对话框中获得VIEW类的指针,然后把B的参数传给VIEW类,再由VIEW类进行必要的处理,然后在A对话框中获得VIEW类的指针,读取VIEW类处理后的数据,再根据这个数据做出反映。
这样说你明白吗?
sayu_yangyou 2001-12-25
  • 打赏
  • 举报
回复
sayu_yangyou@163.com
thanks
georgehuang 2001-12-25
  • 打赏
  • 举报
回复
我做过的,
有几个方法可以实现的,
其中之一就是你可以把变量放在别的类中(比如VIEW类),然后用消息发送的办法来改变,最安全的。要代码的话,EMAIL地址告诉我
sayu_yangyou 2001-12-25
  • 打赏
  • 举报
回复
它就不让你定义成指针的变量
a_kun 2001-12-24
  • 打赏
  • 举报
回复
GetParent()//获得A的指针
->SendMessage();//传递参数给A作相应的变化
Elminster 2001-12-24
  • 打赏
  • 举报
回复
很简单啊,最省事的做法,假设有类 A 和 B 分别管理对话框 A 和 B 。 B 类中定义一个类型为 A* 的成员,假设叫 pa ,A 在产生对话框 B 之前:

B b;
b.pa = this;
b.DoModal();

然后 B 里面就可以访问产生它的 A 的对象,接下来 …… 不用我说了吧?
ygd 2001-12-24
  • 打赏
  • 举报
回复
把A的指针传给B

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧