VC中的UpdateData()函数参数true/false的区别
2012-02-21 19:22
239 查看
VC中UpdateData()函数的使用
UpdateData(FALSE)与UpdateData(TRUE)是相反的过程
UpdateData(FALSE)是把程序中改变的值更新到控件中去
UpdateData(TRUE)是把在控件中输入的值更新到你的变量中去
TRUE ===> 控件 -〉数据成员
FALSE ===> 数据成员 -〉 控件
比如你的一个编辑框控件c_Edit与变量s_Edit相关联
在程序中你用了
s_Edit="CSDN"
但是你在编辑框中输入"NDSC"
如果你用的是UpdateData(FALSE)的话你的编辑框内容将是“CSDN”
如果你用的是UpdateData(TRUE)的话 s_Edit将变成“NDSC”
如要让m_edit的内容立即生效
UpdateData(FALSE);
m_edit.UpdateWindow();//这句不能少,否则不会立即生效
修正:
如要让m_edit的内容立即生效
UpdateData(FALSE);
UpdateWindow();//这句不能少,否则不会立即生效
EDIT控件没有UpdateWindow这个成员函数,所以直接使用
例如:
m_name="";
m_mima="";
UpdateData(FALSE);
UpdateWindow();
UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。
UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。
当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。
二、关于编辑框的赋值和取值
向编辑框中赋值和取值时:
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);
2、直接建一个 数值形的变量 如m_strEdit; 用 UpdateData()来控制得到变量,还是更新变量。
//取值
UpdateData(TRUE);
CString buf = m_Edit1;
//赋值
m_Edit1="ok!";
UpdateData(FALSE);
UpdateData(FALSE)与UpdateData(TRUE)是相反的过程
UpdateData(FALSE)是把程序中改变的值更新到控件中去
UpdateData(TRUE)是把在控件中输入的值更新到你的变量中去
TRUE ===> 控件 -〉数据成员
FALSE ===> 数据成员 -〉 控件
比如你的一个编辑框控件c_Edit与变量s_Edit相关联
在程序中你用了
s_Edit="CSDN"
但是你在编辑框中输入"NDSC"
如果你用的是UpdateData(FALSE)的话你的编辑框内容将是“CSDN”
如果你用的是UpdateData(TRUE)的话 s_Edit将变成“NDSC”
如要让m_edit的内容立即生效
UpdateData(FALSE);
m_edit.UpdateWindow();//这句不能少,否则不会立即生效
修正:
如要让m_edit的内容立即生效
UpdateData(FALSE);
UpdateWindow();//这句不能少,否则不会立即生效
EDIT控件没有UpdateWindow这个成员函数,所以直接使用
例如:
m_name="";
m_mima="";
UpdateData(FALSE);
UpdateWindow();
UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。
UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。
当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。
二、关于编辑框的赋值和取值
向编辑框中赋值和取值时:
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);
2、直接建一个 数值形的变量 如m_strEdit; 用 UpdateData()来控制得到变量,还是更新变量。
//取值
UpdateData(TRUE);
CString buf = m_Edit1;
//赋值
m_Edit1="ok!";
UpdateData(FALSE);
相关文章推荐
- UpdateData(TRUE)和UpdateData(FALSE)的区别
- UpdateData(TRUE)和UpdateData(FALSE)的区别
- UpdateData(TRUE) 和UpdateData(FALSE) 区别
- 编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数(是素数返回true,否则false),自编main函数用于测试
- UpdateData(TRUE)和UpdateData(FALSE)的区别
- getSession 方法的参数true/false和无参的区别
- ***php解析JSON二维数组字符串(json_decode函数第二个参数True和False的区别)
- VC中TRUE和true,FALSE和false有什么区别
- DoDataExchange函数,UpdateData(TRUE)和UpdateData(FALSE)的区别
- UpdateData(TRUE)和UpdateData(FALSE)的区别
- MFC-UpdateData(false)和UpdateData(true)的区别
- MFC UpdateData(FALSE)和UpdateData(TRUE)的区别
- MFC-UpdateData(false)和UpdateData(true)的区别
- Visual C++:UpdateData(FALSE)与UpdateData(TRUE)的区别
- 关于UpdateData()函数的使用,参数TURE和FALSE的使用
- UpdateData(TRUE)和UpdateData(FALSE)的区别
- UpdateData(TRUE)和UpdateData(FALSE)的区别
- UpdateData(TRUE)和UpdateData(FALSE)的区别
- angularjs指令中scope参数 true、false、{} 的区别详解
- UpdateData(TRUE)和UpdateData(FALSE)的区别