1.2学习MFC之控件数据交换UpdateData
2015-01-04 19:38
323 查看
在编写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 here
UpdateData(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 here
m_edit6.SetWindowText("setWindowText");
}
void CUpdateDataDlg::OnGetWindowText()
{
// TODO: Add your control notification handler code here
char tmp[1000];
m_edit6.GetWindowText(tmp, 1000);
m_edit7.SetWindowText(tmp);
}
相关VC6工程文件链接:http://pan.baidu.com/s/1bntnYVl
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 here
UpdateData(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 here
m_edit6.SetWindowText("setWindowText");
}
void CUpdateDataDlg::OnGetWindowText()
{
// TODO: Add your control notification handler code here
char tmp[1000];
m_edit6.GetWindowText(tmp, 1000);
m_edit7.SetWindowText(tmp);
}
相关VC6工程文件链接:http://pan.baidu.com/s/1bntnYVl
相关文章推荐
- MFC学习笔记之Invalidate的用处及对话框数据交换及实现文字背景色为透明
- MFC在Dialog中交换数据(没有使用UpdateData(false)和UpdateData(true))
- MFC控件数据交换:DDX
- MFC操作--控件显示及数据交换
- MFC控件数据交换:DDX
- MFC 数据交换(UpdateData)
- MFC控件数据交换:DDX
- 【MFC学习笔记2】MFC中的数据类型,全局变量,全局函数和宏。
- ASP.Net-----学习动态性能表 数据源控件 数据绑定控件
- 对话框的数据交换--MFC深入浅出
- 通过js实现2个select控件的交换数据
- 延续数据控件嵌套的学习
- MFC浅析(6) 对话框数据交换及验证
- MFC中对话框的数据交换(DDX)和数据校验(DDV)。。。
- asp.net学习之数据绑定控件、数据源控件概述
- c++指针学习笔记--交换两个字符串数据收藏
- MFC控件篇之对话框中的消息与数据
- MFC-对话框与数据交换
- WPF学习笔记(04) - 简单的控件和数据绑定
- ASP.NET学习笔记--数据验证控件