UpdateData(TRUE)和UpdateData(FALSE)的区别

UpdateData(TRUE)和UpdateData(FALSE)的区别UpdateData TRUE 和 UpdateData FALSE 的区别当使用 ClassWizard 建立了控件和变量之间的联系后 当修改了变量的值 而希望对话框控件更新显示 就应该在修改变量后调用 UpdateData FALSE 如果你希望知道用户在对话框中到底输入了什么 就应该在访问变量前调用 UpdateData TRUE 1 UpdateData true 用窗体上控件中的内

UpdateData(TRUE)和UpdateData(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()是作用于整个CWndDDX数据交换机制之中的,是控件和数据的双向通道。

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

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

(0)
上一篇 2026年1月24日 下午2:01
下一篇 2026年1月24日 下午2:22


相关推荐

  • 【Coze – AI Agent 开发平台】– 你真的了解 Coze 吗

    【Coze – AI Agent 开发平台】– 你真的了解 Coze 吗

    2026年3月15日
    2
  • centos7查看防火墙命令

    centos7查看防火墙命令一 防火墙的开启 关闭 禁用命令 1 设置开机启用防火墙 systemctlena service 2 设置开机禁用防火墙 systemctldis service 3 启动防火墙 systemctlsta 4 关闭防火墙 systemctlsto 5 检查防火墙状态 systemctlsta 二 使用 firewall cmd 配置端口 1

    2025年7月9日
    8
  • 数据库函数(基本函数)

    数据库函数(基本函数)实验平台 navicat1 Selectceil x 大于 x 的最小整数值 2 Selectfloor x 小于 x 的最大整数值 3 Selectround x 四舍五入 4 Selectround x y 四舍五入到 y y 为正 则为小数点右边 y 为负为小数点左边 5 SelectTrunca x y 直接截取 x 的小数点的 y 位 和上面的规则一样 6 S

    2026年3月16日
    2
  • linux安装DNS服务命令,linux配置dns服务器配置命令

    linux安装DNS服务命令,linux配置dns服务器配置命令linux 配置 dns 服务器配置命令 Linux 系统的 DNS 服务器怎么配置 配置命令有哪些 下面跟 yjbys 小编一起来了解一下吧 一 实验目的熟悉 Linux 系统中 DNS 服务器的配置方法 理解配置过程的基本步骤的作用 二 实验任务 1 建立正向搜索区域 为网络个台服务器建立主机记录 别名记录 为网络建立邮件交换器记录 使得客户机能够根据服务器主机域名搜索出其 IP 地址 2 建立反向搜索区域 为网络个台服

    2026年3月16日
    3
  • 好看的vscode字体

    好看的vscode字体vscode 下载上面出现的字体 自行百度搜索 CascadiaCode 等线 等线是中文 CascadiaCode 是英文 自认为比较 cool 的搭配 也可以自行选择 然后放到 C Windows Fonts 会自动安装就完事了

    2026年3月26日
    2
  • pytest 执行用例_python 分布式计算

    pytest 执行用例_python 分布式计算前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月31日
    8

发表回复

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

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