当你使用了ClassWizard建立了控件和变量之间的联系后:
  当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用 UpdateData(FALSE)

如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)

用处:主要控制ddx_data
  把控件中的值和变量进行交换
  比如你有个编辑框,输入了一些值,你的程序怎么得到呢;必须先调用这个(当然是在用了ddx的情况)
  反之控件的成员变量中的值也可以通过该函数自动显示到控件里面,根据传进来的是true或者false

1.UpdateData(true)
用窗体上控件中的内容来更新和控件相关连的变量的值(只能更新value类型的变量)
  例如:你在你的窗体中有一个Edit控件,为这个控件关联了CString类型的变量m_strName;
  你在控件中添入内容之后,必须调用UpdateData(true);才能把你添入的内容传给m_strName这个变量
  UpdateData(false)和上面的正好相反,还是以上面的Edit为例,当你在程序中改变了m_strName变量的内容的时候,如果你想让那个Edit也显示更新后的 m_strName,就必须调用UpdateData(false); 这样在你的Edit中才能显示更新完的变量的值!

2、

UpdateData(TRUE)是将控件的状态传给其关联的变量,当然你要为控件关联上变量才行。

UpdateData(FALSE)是将控件的关联变量的值传给控件并改变控件状态。

UpdateData刷新的是当前对话框。

UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。

UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。

3.edit控件,与控件关联的变量m_edit,

当程序执行,你在控件中输入数21,要把21传到 m_edit,UpdateData(true).

如果把m_edit修改,要传到控件UpdateData(false);

另外注意一点:

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

同样所有绑定了变量的控件中的内容也会 UpdateData(FALSE)更新成对应变量中的内容。

要接受用户的输入就true, 要输入结果给用户就flase

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

重要补充:

GetWindowText()是获取控件当前内容(Caption或者the text within the control —for the control,具体可以查看MSDN)值,是对单个控件而言;

而UpdateData()是作用于整个CWnd的DDX数据交换机制之中的,是控件和数据的双向通道。

MFC中的UpdateData()函数相关推荐

  1. MFC中的消息处理函数

    1.在Windows API编程中,直接在消息处理函数中编写WM_PAINT处理代码. 2.在MFC中,CFrameWnd的消息处理过程在哪里呢?MFC时如何将消息处理函数和窗口关联起来的. 在CFr ...

  2. MFC中关于虚函数的一些问题

    这个是C++中虚函数以及多态性. 我们知道,如果派生类中重定义了基类中的虚函数,即使用基类的类型指针调用该函数,那么实际上连编的是派生类的函数.比如, class A { virtual void o ...

  3. MFC子线程中调用updatedata()函数报错解决方法

    在XXXDlg.h顶部添加 #define WM_UPDATEDATA WM_USER+100 关联自定义消息,在XXXDlg.cpp中消息处理函数中添加 ON_MESSAGE(WM_UPDATEDA ...

  4. VC的MFC中重绘函数的使用总结(整理)

    原文网址:http://www.cnblogs.com/x8023z/archive/2008/12/09/mfc33.html 在刷新窗口时经常要调用重绘函数 MFC提供了三个函数用于窗口重绘 In ...

  5. MFC中 AfxBeginThread()的函数

    函数原型: CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc,//指向工作的线程,不能为空 LPVOID pParam,//参数要传递到 ...

  6. MFC中的Create();函数

    创建控件: enum{IDC_NAME=1009,IDC_NAME2=1008}; CWnd m_edit;                        //这个变量应该放在类中 void CAbo ...

  7. MFC中的InitInstance()函数应该怎样理解

    https://zhidao.baidu.com/question/29097884.html

  8. 修改MFC中AfxMessageBox()函数的对话框标题

    修改MFC中AfxMessageBox()函数的对话框标题 如何在MFC中修改AfxMessageBox()函数所弹出的对话框标题,步骤如下: 1.找到项目工程的资源视图,打开.rc资源文件下的Str ...

  9. MFC中的DoDataExchange(CDataExchange *pDX)

    DoDataExchange(CDataExchange *pDX) 在对话框中有这么一个函数 其作用是与对应的变量交换对话框数据 MSDN 解释为: Called by the framework ...

最新文章

  1. muduo之FileUtil
  2. 量子计算时代快了!量子计算机的架构,硬件,软件等都有成果!
  3. 在html页面中加入矢量图,HTML5画布矢量图形?
  4. 如何在vmware虚拟机下挂载windows硬盘
  5. 深度学习pytorch--多层感知机(三)
  6. 深入理解JavaScript之Event Loop
  7. [css][移动设备]禁止横竖屏时内容自动调整
  8. IE、FireFox、Opera三种浏览器Document对象的方法对比
  9. 5G换机前夕变局:海外停滞,靠中国市场救命?
  10. 对于目标检测中mAP@0.5的理解
  11. 汽修第5天 升降玻璃的维修
  12. 腾讯音乐、网易云音乐殊途同归?
  13. 云测试(cloud testing)之我见
  14. 怎么把四个图片合成一个图片?
  15. 乘法逆元 java_java写的三个求乘法逆元的算法
  16. 使用TabLayout+ViewPager+Fragment实现切页展示
  17. 一篇文章,带你走进Java
  18. 基于Python的Excel读写操作--内容超详细,值得排排坐
  19. iPhone开发播放音乐与按钮声音
  20. Linux 系列(三)——Redis 分布式集群搭建

热门文章

  1. POJ1847【Dijkstra】
  2. 控制体积分形式的基本方程
  3. 细说OSI七层协议模型及OSI参考模型中的数据封装过程
  4. Educational Codeforces Round 112 (Rated for Div. 2)-A. PizzaForces-题解
  5. C语言 fprintf写入文件
  6. 前端开发App的几种开发方式
  7. getenforce setenforce
  8. 电脑蓝牙耳机默认声音过高的解决办法
  9. CIFAR-100数据集 卷积神经网络训练
  10. CMake error:System Error:No such file or directory CMake error:Could not open file for write in copy