我的mydlg类上有cedit myedit;我关联了一个整型的成员变量 int myeditstr,并在构造函数里初始化了myeditstr = 4;我想每次改变这个edit框的值的时候同时也把值赋给myeditstr:
触发了cedit类的onchange事件,
在这个事件中把从界面上得到的edit框的值赋给myeditstr
CString  dd;
GetDlgItem(IDC_EDIT_XIAWEISHU)->GetWindowText(dd);
 m_xiaweinum = atoi(dd);为什么在另外一个usedlg对话框使用时值并没有改变
先谢谢各位了

解决方案 »

  1.   

    UpdateData(TRUE);
    CString  dd;
    GetDlgItem(IDC_EDIT_XIAWEISHU)->GetWindowText(dd);
    m_xiaweinum = atoi(dd);
    //在下面加上GetDlgItem(m_xiaweinum对应的控件ID)->UpdateData(FALSE);
      

  2.   

    得刷新一下
    GetDlgItem(m_xiaweinum对应的控件ID)->UpdateData(FALSE);
      

  3.   

    要把变量的值显示到控件上
    使用UpdateData(false)要把控件的值读取到变量
    使用UpdateData(true)
      

  4.   

    已经关联了变量只要调用UpdateData就可以了。
      

  5.   

    我在mydlg类的onchange函数中
    {
    UpdateData(TRUE);
    CString  dd;
    GetDlgItem(IDC_EDIT_GROUP)->GetWindowText(dd);
    myeditstr = atoi(dd);
    }我在另外一个类中这样写:
    mydlg  dlg;UpdateData(FALSE);
    int  aa;
    aa =  dlg.myeditstr 测试发现aa还是在构造函数中的值啊,不知道哪里写错了。
      

  6.   

    我在另外一个类中这样写:
    mydlg  dlg;UpdateData(FALSE);
    int  aa;
    aa =  dlg.myeditstr 测试发现aa还是在构造函数中的值啊,不知道哪里写错了。
    ==================================
    mydlg  dlg;int  aa;
    aa =  dlg.myeditstr 
    UpdateData(FALSE);这样写.
      

  7.   

    不好意思,看错了.如果你希望 mydlg显示新的值的话,不应该这样调用.
      

  8.   

    把你的工程发给我[email protected]
      

  9.   

    你在另外的窗口用UpdateData,更新的是另一个窗口的数据