CWnd::UpdateData()用法总结

在MFC应用程序中,经常需要更新对话框中控件变量的值,或更新控件显示值,为达到此目的,方法之一是使用CWnd::UpdateData()函数,下面通过一个小的Demo程序对此此函数的用法进行总结,以加深理解。

1. 新建MFC对话框应用程序TestModel。

2. 删除对话框中默认的Static Text控件及确定取消、按钮。

3. 添加一个Static Text控件,将Caption设置为“数量”

4. 添加Edit Control控件,ID为IDC_EDIT1,并为此文本框控件添加CString类型的变量。

5. 添加两个Button控件,ID分别为IDC_BUTTON1、IDC_BUTTON2,Caption分别为:“更新控件变量”,"改变控件显示"。

6. 为两个按钮控件添加鼠标单击事件,名称分别为:afx_msg void OnBnClickedButton1()、afx_msg void OnBnClickedButton2()。

7. 在对话框初始化函数BOOL CTestModelDlg::OnInitDialog()中添加如下语句,设置文本框的初始值:

    GetDlgItem(IDC_EDIT1)->SetWindowText("123"); 

8. 在OnBnClickedButton1()函数中添加如下语句:

CString nOldVal = m_edtNum;
UpdateData(TRUE);
CString nNewVal = m_edtNum;

9.  在OnBnClickedButton2()函数中添加如下语句:

m_edtNum = "改变了";
UpdateData(FALSE);

10. 编译运行程序进行测试,点击“更新控件变量”按钮,在执行UpdateData(TRUE);语句之前,m_edtNum的值为空,执行之后为“123”,故UpdateData(TRUE)的作用是将文本框界面值跟新到控件变量;

11. 点击"改变控件显示"按钮,执行了m_edtNum = "改变了";语句后若无UpdateData(FALSE);语句,文本框界面显示保持123不变,若执行了UpdateData(FALSE);,文本框界面显示改变为“改变了”,如UpdateData(FALSE)的作用是将控件变量的值更新到界面中。

12. 通过以上步骤,总结如下:

      UpdateData(TRUE)的作用是将文本框界面值跟新到控件变量;

      UpdateData(FALSE)的作用是将控件变量的值更新到界面中。

13. 当然除此之外我们也可以通过另一种方法更新、获取控件的值,如下所示:

       GetDlgItem(IDC_EDIT1)->SetWindowText("123"); 设置控件值;

       CString strVal = "";

       GetDlgItem(IDC_EDIT1)->GetWindowText(strVal);获取控件值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值