您的位置:首页 > 其它

MFC中UpdateData()函数的使用

2013-06-04 20:43 267 查看
转自:点击打开链接

在写一个MFC的程序时, 在对话框的地方出了些问题, 在网上找了相关的资料, 原来, 对话框上控件的值与控件所对应的数据成员之间要调用UpdateData()函数进行一些数据转换的操作, 以下将网上查找的关于UpdateData()函数的使用方法:

UpdateData()参数只有一个,默认为TRUE。

  UpdateData(TRUE)

  ——刷新控件的值到对应的变量。(外部输入值交给内部变量)

  即:控件的值—>变量。

  UpdateData(FALSE)

  —— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)

  即:变量值—>控件显示。

  例如,窗口中用 DDX_Text(pDX, IDC_EDIT1, m_usercode);

  将IDC_EDIT1编辑框控件与m_usercode变量做了关联,如果修改m_usercode之后要想对应控件显示更改,则需要调用UpdateData(FALSE);反之在IDC_EDIT1的oneditchanged()中需要加入UpdateData(TRUE);

  简单地说,如果Updatedata(TRUE) == 将控件的值赋值给成员变量,即从窗口编辑框中读入数据;Updatedata(FALSE) == 将成员变量的值赋值给控件,将数据从窗口显示。

  实例说明:

  例如我们在对话框窗口中添加了3个editbox,然后将前两个的值相加,然后在第三个editbox中输出。

  那么我们可以做如下处理:

  1。用类向导在3个editbox下添加3个变量,我们命名为m_num1,m_num2,m_num3。

  2。然后我们可以多添加一个button控件,在其的click处理事件中,添加以下代码:

  UpdateData();// 默认的缺省参数为TRUE,这样,将EditBox控件的内容读入到与其关联的变量中

  m_num3 = m_num1+m_num2;

  UpdateData(FALSE);// 将变量的值,输出到与其关联的EditBox中

  就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: