比哪这个控件里的值原来是2,我现在把它改成3,那么,怎么知道它被改变了呢?

解决方案 »

  1.   

    同上, 方法很多,响应EN_CHANGE是最方便的
      

  2.   

    不能使用EN_CHANGE,如果用这个,数据还没修改完,它就不停的报那个数据改变,这个时候我要连远程的服务器进行操作,那么会给后台造成很大的负担,而且速度也会变慢。现在要求就是所有的数据修改完后,当然按下一个键时,才要知道那个值是不是变了
      

  3.   

    哦..这样吧..
    你说的是  失去焦点的时候才判断是么??
    那就点击 按钮的类向导  然后选取 onkillfocus()消息响应...对话框设置一个CString old; 保留上一次的值,,
    在onkillfocus()里判断
    CString s;
    GetDlgItem(IDC_EDIT1)->GetWindowText(s);
    if(s!=old)
      AfxMessageBox("改变了");有问题继续说..
      

  4.   

    那就点击 按钮的类向导---->那就点击 edit 的类向导
      

  5.   

    当然按下一个键时,才要知道那个值是不是变了
    ----------------------------------------------
    这个键是个按纽吧? 假设为button0
    1.
    定义个变量存储以前的数据
    CString strOri;
    2.类初始化时给它个默认值,比如strOri=_T"";
    3.在button0的点击响应里
      OnButton0()

       CString str=m_ctrlEdit.GetWindowText;//取得当前值
       if(strOri!=str)//Edit里的值发生了变化
        {
           strOri=str;//存储当前值,用于下一次比较
           //其它操作
        }
    }
      

  6.   

    这个键是个按纽吧? 假设为button0
    1.
    定义个变量存储以前的数据
    CString strOri;
    2.类初始化时给它个默认值,比如strOri=_T"";
    3.在button0的点击响应里
      OnButton0()

       CString str=m_ctrlEdit.GetWindowText;//取得当前值
       if(strOri!=str)//Edit里的值发生了变化
        {
           strOri=str;//存储当前值,用于下一次比较
           //其它操作
        }
    }