我建一个编辑框控件edit1,绑定一个int型变量m_red,onchange时把控件值读入m_red.这样写为什么不行?
void CBianDlg::OnChangeEdit1() 
{
CEdit *myedit;
myedit = (CEdit*)GetDlgItem(IDC_EDIT1);
myedit->UpdateData(true);
m_red= (m_red-1)%255 ;
InvalidateRect(&rt,true);
}

解决方案 »

  1.   

    void CBianDlg::OnChangeEdit1() 
    {
        UpdateData();
        m_red= (m_red-1)%255;
        InvalidateRect(&rt,true);
    }
      

  2.   

    谢谢楼上,这样做当然行了。
    怪我没把问题说清楚,我有多个EDIT控件,这样做的话调试程序时会出现异常。运行时就出错。而且我的做法应该没什么问题啊。
      

  3.   

    我有多个EDIT控件
    ----
     多个也没有关系吧,那就绑定多个INT变量~
      

  4.   

    搂主为什么要把EDIT做成事件呢?
    用控件变量不是很方便么?
      

  5.   

    用控件变量?你是说用GetWindowText,然后转化成int吗?我的做法到底是怎么回事,出了什么问题?我觉得应该是updatedata间接了其他东西的。不然运行时怎么会有错误发生?我换了种做法,在窗口显示之前已经触发onchange动作,这时把updatedata() 屏蔽了就没出现问题.求我所碰到问题的原因.