我写了个 类CValue 专门用来传值
class CValue  
{
public:
CValue();
virtual ~CValue();
 public:
   double GetValue1() const{return value1;} 
   void SetValue1(double v){value1 = v; }
private :

    double value1;
cpp文件是CValue::CValue()
{
value1=10;
}
CValue::~CValue()
{}然后在一个子窗口中
if (NULL == pValue1)   //pValue1是指向CValue的指针
{
pValue1 = new CValue;
pValue1->SetValue1(m_k1);
}
在另一个子窗口中
if (NULL == pValue2)    ////pValue2是指向CValue的指针
{
pValue2 = new CValue;
m_ee11=pValue2->GetValue1();
}但是m_ee11得到的值不是m_k1的值  而是10(初始值),怎么样才能成功的传值呢?
我的问题出在哪里?
大家帮帮我!

解决方案 »

  1.   

    你这个pValue1和pValue2是两个完全无关的变量啊。
    要传值,你要有一个“传”的过程啊。也就是说,首先你要在一个窗口中获取另外一个窗口的对象指针或者窗口句柄,然后通过对象成员函数或者消息的方式来“传”数据。
      

  2.   

    在一个子窗口中 CValue *p=(CValue *)GetParent(); //获得指向CValue类的指针 
    p->SetValue1(m_k1); 
    ===================================
    在另一个子窗口中 
    CValue *p1=(CValue *)GetParent(); //获得指向CValue类的指针 
    p1->GetValue1(); 
      

  3.   

    传递数据可以设置全局变量,那里都可以访问
    或者使用函数,获得其他文件案的指针来传递变量你在两个窗口中各自创建了一个CValue对象,他们有各自的值,你改变一个,另一个也不会改变
    因为有this指针,他们各管各的,没什么直接联系
      

  4.   

    是不是用WM_   那样的形式  这个我完全没用过的 用过的都是都是Ctrl+W里面加的消息
    自己不知道怎么写 
      

  5.   

    也可以考虑用
    dynamic_cast