介绍下问题背景:
有三个对话框,分别是A类和B1类和B2
A类中有个列表控件,点击相应的行,会出现相应的B1和B2对话框。我已完成的工作:
A类中有B1和B2的对象,点击相应的列表行时候,我只是把相应的B1或B2用SHOW的方法显示出来。我的问题:
在点击A中的列表控件时,想把列表某列的值传递给打开的B1或B2.但是怎么也传不过去。我用过的方法:
1、我在B1和B2中建了A的对象,但是那个值是在鼠标点击的时候传递的,所以这个方法应该不行。
2、我让A类和B1类和B2类都从C类继承,C类有个public成员mc,在点击列表的时候,值先传递给C类的mc,然后B1和B2在调用,这个方法也不行啊。求助!不明白问题的可以再问我,谢谢。

解决方案 »

  1.   

    B1和B2中定义各定义一个public成员函数,A类中通过B1、B2的对象调用该函数,通过函数参数传递数据。
      

  2.   

    例如在B1和B2中定义各定义一个public的CString 同m_xx变量,再把A类列表控件的值传给B1.m_xx、B2.m_xx
      

  3.   

    在b1和b2  里各做一个收值改值的函数,在a里用b1和b2的对象调用,看看怎么样,
      

  4.   

    在b1和b2的SHOW函数加个引用参数不就行了。
    B1::SHOW(int &value);
      

  5.   

    用消息就可以了。在A中肯定可以得到B1和B2的句柄(当这两个窗口存在的时候)当点击A中的列表控件时,就向这两个句柄发送自定义的消息就行了。B1或者B2存在的时候应该可以收到这个消息并处理的。
      

  6.   

    问题还是有点模糊
    如果仅仅是数据传递:B1和B2中定义各定义一个public成员,SHOW的方法显示出来之前,过B1、B2的对象将数据传递到新加的public成员,SHOW显示就可以直接使用
      

  7.   

    你是不是要吧传递的数据给B1或者B2????然后在B1,B2里面显示呢????
    这个很好办啊!!你的B1 B2应该像这样来显示的吧:m_b1.DoModal();
    你可以这样来实现。
    在B1 ,B2 里面都加入public 类型的变量并且关联到你相应的对话框控件上。
    然后,在你的DoModal之前, m_b1.m_ctl1 = "赋值"
    应该就可以了!!!!!!!