对话框里加一个IDC_EDIT1,绑定一个变量int m_val;按理用UpdateData(TRUE) 可以从文本框中得到输入值,但以下代码怎么没有结果,就像没能获得值一样void CDlgTestDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
this->UpdateData();
CString msg;
msg.Format("%d",m_val);  
AfxMessageBox(msg);
}这个问题应该很简单的,居然会不行实在是有点搞不清.谁帮我试一下

解决方案 »

  1.   

    void CDlgTestDlg::OnBnClickedButton1()
    {
    UpdateData(FALSE);
    CString msg;
    msg.Format("%d",m_val);  
    AfxMessageBox(msg);
    }
      

  2.   

    DoDataExchange里加
    DDX_Text(pDX, IDC_EDIT1, m_val);楼上的不对哦:)
      

  3.   

    没仔细看,8好意思。int m_val;
    楼主这句话也有问题,一般绑定变量是在类向导中完成比较方便。
    上面的定义不要,在类向导中设定IDC_EDIT1的变量为m_val,CString类型。
    然后
    void CDlgTestDlg::OnBnClickedButton1()
    {

    UpdateData(FALSE);
    AfxMessageBox(m_val);
    }
    这样就可以了
      

  4.   

    把 this->UpdateData()改为UpdateData()试试看
      

  5.   

    goodboyws(深夜不眠者)说得对我是VC.NET里用右键添加的变量,应该跟类向导的效果一样的,可只有绑定控件变量才自动帮加语句,其它类型要手动加,这点似乎跟VC6有差别.BOOL UpdateData(
       BOOL bSaveAndValidate = TRUE 
    );bSaveAndValidate = TRUE 从控件读输入值到变量 
    bSaveAndValidate = FALSE 把变量值显示到控件
      

  6.   

    to i_noname
     UpdateData(FALSE);?????呵呵,还是没分清啊