1.2学习MFC之控件数据交换UpdateData
来源:互联网 发布:刘洪波四大讲座 知乎 编辑:程序博客网 时间:2024/06/09 18:57
在编写MFC程序时,需要用到大量控件,用于数据的输入输出。这些控件中的变量与程序变量的传递,依靠的是UpdateData这一函数。
UpdateData()参数有两个,默认为TRUE。
UpdateData(TRUE),刷新控件内的值到对应的变量。 即:控件的值-->变量。
UpdateData(FALSE),拷贝变量的值到控件中显示。即:变量-->控件内容。
一个简单的例子:对话框中有三个编辑框:EDIT1,EDIT2,EDIT3;对应了三个整型变量m_num1, m_num2和m_sum。
点击按钮之后,EDIT1,EDIT2中的数传递到变量m_num1和m_num2中,求和,显示到m_sum中。
首先将相关控件放到对话框上,然后为编辑框添加成员变量。
然后给按钮添加点击函数。
void CUpdateDataDlg::OnButton1() {// TODO: Add your control notification handler code hereUpdateData(TRUE);// 控件中的值传递到变量中m_sum = m_num1 + m_num2;// 完成相加UpdateData(FALSE);// 变量中的值更新到控件中}
运行效果如下图所示。
UpdateData函数刷新的是整个对话框中控件的数据。
也可以单独设置或取得某些控件的数据。可以使用SetDlgItemText()和GetDlgItemText()这两个函数(方案一); 或者SetWindowText()和GetWindowText()这两个函数(方案二)。
给出方案一的实验效果。
核心代码。
// 下面两个函数用来演示SetDlgItemText()和GetDlgItemText()这两个函数void CUpdateDataDlg::OnButton3() {// SetDlgItemText,设置第4个编辑框中的内容SetDlgItemText(IDC_EDIT4, "set");}void CUpdateDataDlg::OnButton2() {// GetDlgItemText按钮, 取得第4个编辑框中的内容,显示到第5个编辑框中CString tmp;GetDlgItemText(IDC_EDIT4, tmp);SetDlgItemText(IDC_EDIT5, tmp);}
下面给出方案二的效果和核心代码
// 下面两个函数用来演示SetWindowText()和GetWindowText()这两个函数void CUpdateDataDlg::OnSetWindowText() {// TODO: Add your control notification handler code herem_edit6.SetWindowText("setWindowText");}void CUpdateDataDlg::OnGetWindowText() {// TODO: Add your control notification handler code herechar tmp[1000];m_edit6.GetWindowText(tmp, 1000);m_edit7.SetWindowText(tmp);}
相关VC6工程文件链接:http://pan.baidu.com/s/1bntnYVl
0 0
- 1.2学习MFC之控件数据交换UpdateData
- MFC 数据交换(UpdateData)
- MFC在Dialog中交换数据(没有使用UpdateData(false)和UpdateData(true))
- MFC控件数据交换:DDX
- MFC 控件变量数据交换
- MFC控件数据交换:DDX
- MFC控件数据交换:DDX
- MFC之updatedata
- MFC之UpdateData
- MFC—— 控件数据交换:DDX
- MFC操作--控件显示及数据交换
- MFC之UpdateData函数使用方法
- MFC UpdateData
- javascript与MFC ActiveX控件接口方法数据交换
- MFC学习之路(三)CPropertyPage调用UpdateData()的时候崩溃
- MFC学习之路(三)CPropertyPage调用UpdateData()的时候崩溃
- MFC学习笔记.day04-静态文本框, 检索控件句柄,UpdateData函数,七种编辑框加法编程
- MFC 关联变量 EditControl控件 UpdateData CString与double转换
- 使用算法检测异常 - 问题描述
- 并查集详解 (转)
- 修改复选框默认样式
- [leetcode 139] Word Break
- xcode6使用objc_msgsend报错问题
- 1.2学习MFC之控件数据交换UpdateData
- yii2实现数据分页
- 重置IOS模拟器
- Java使用freemarker导出word模板
- Java 正则表达式的应用
- 邱树泽【网络歌手】
- 如何把GIT仓库的子目录独立为子模块
- 元素水平居中
- 光学发展过程