现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

MFC中UpdateData()函数的使用

2012-07-16 21:50 工业·编程 ⁄ 共 908字 ⁄ 字号 暂无评论

UpdateData,顾名思义,是用来刷新数据的。

    1. Updatedata(TRUE):将控件的值赋值给成员变量,即用窗体上控件中的内容来更新和控件相关联的变量的值(只能更新value类型的变量)。

    2. Updatedata(FALSE):将成员变量的值赋值给控件,和上面的正好相反。

    3. 当你使用了ClassWizard建立了控件和变量之间的联系后,当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。

说明

1. UpdateData()刷新的是当前对话框。

2. 使用UpdateData()函数时,当前界面上所有绑定了的变量(即通过MFC的ClassWizard给控件添加的变量)都会被UpdateData(TRUE)更新成对应控件中的内容;同样所有绑定了变量的控件中的内容也会被UpdateData(FALSE)更新成对应变量中的内容。

3. 数据量不多的话,最好用SetDlgItemText()和GetDlgItemText()。

关于编辑框的赋值和取值

向编辑框中赋值和取值时:

1、建一个 控制型的变量,如m_edit1,用CWnd的SetWindowText()和GetWindowText()来赋值和取值。

m_Edit1.SetWindowText("Hello");

或者GetDlgItem(IDC_EDIT1)->SetWindowText(str);

2、建立一个控制型的变量,如m_edit1,用SetDlgItemText()和GetDlgItemText()来赋值和取值

CString Str="Hello":

m_edit1.SetDlgItemText(IDC_EDIT1,str);

3、直接建一个 数值形的变量 如m_strEdit; 用 UpdateData()来控制得到变量,还是更新变量。

//取值
UpdateData(TRUE);
CString buf = m_Edit1;
//赋值
m_Edit1="ok!";
UpdateData(FALSE);

给我留言

留言无头像?