updatedata讲解

updatedata讲解当你使用了 ClassWizard 建立了控件和变量之间的联系后 当你修改了变量的值 而希望对话框控件更新显示 就应该在修改变量后调用 UpdateData FALSE 如果你希望知道用户在对话框中到底输入了什么 就应该在访问变量前调用 UpdateData TRUE 用处 主要控制 ddx data 把控件中的值和变量进行交换比如你有个编辑框 输入了一些值 你的程序怎么得到呢 必须先调

当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用 UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。
用处:主要控制ddx_data
把控件中的值和变量进行交换
比如你有个编辑框,输入了一些值,你的程序怎么得到呢;必须先调用这个(当然是在用了ddx的情况)
反之控件的成员变量中的值也可以通过该函数自动显示到控件里面,根据传进来的是true或者false



当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用 UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。
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数据交换机制之中的,是控件和数据的双向通道。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213086.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午6:35
下一篇 2026年3月18日 下午6:35


相关推荐

  • socketpair原理_socket负载均衡

    socketpair原理_socket负载均衡描述先看下传统的CS模型,如下:总是一方发起请求,等待另一方回应。当一次传输完成之后,client端发起新的请求之后,server端才作出回应。那如何才能做到双向通信? 一种解决办法就是client端即使client,又是server,server端即使client也是server,如下:但是上述方面比较复杂,这时候就引入要分析的socketpair了。

    2022年10月14日
    5
  • 从K近邻算法、距离度量谈到KD树、SIFT+BBF算法

    从K近邻算法、距离度量谈到KD树、SIFT+BBF算法从K近邻算法、距离度量谈到KD树、SIFT+BBF算法前言前两日,在微博上说:“到今天为止,我至少亏欠了3篇文章待写:1、KD树;2、神经网络;3、编程艺术第28章。你看到,blog内的文章与你于别处所见的任何都不同。于是,等啊等,等一台电脑,只好等待..”。得益于田,借了我一台电脑(借他电脑的时候,我连表示感谢,他说“能找到工作全靠你的博客,这点儿小忙还说,不地道”,有的时候,稍许感受到

    2022年6月6日
    25
  • xAI大清洗,Meta拟裁员20%,最难的还是一线员工

    xAI大清洗,Meta拟裁员20%,最难的还是一线员工

    2026年3月16日
    3
  • .net pdf转word_pdf to word

    .net pdf转word_pdf to wordAsposewordpdf相互转换工具类文件的详细路径:pdfToDoc(StringpdfPath,StringdocPath)输入流:pdfToDoc(InputStreampdfPathInputStream,StringdocPath)//Anhighlightedblockpackagecom.example.wordpdf.utils;importcom.aspose.pdf.License;importcom.aspose.pdf.SaveF

    2025年7月23日
    6
  • 灰色关联度模型matlab_灰色关联分析法的适用范围

    灰色关联度模型matlab_灰色关联分析法的适用范围matlab之灰色关联分析法https://blog.csdn.net/m0_37286282/article/details/79183333

    2025年7月24日
    8
  • linux查看80端口占用情况_linux查看所有端口占用情况

    linux查看80端口占用情况_linux查看所有端口占用情况前言平常使用linux,我们经常需要查看哪个服务占用了哪个端口,接下来就为大家介绍了2种Linux查看端口占用情况可以使用lsof和netstat命令。1.lsof-i:端口号用

    2022年7月29日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号