MFC仅让部分控件在UpdateData(FALSE)后更新绑定的变量值

一般在函数DoDataExchange中,我们会将控件与某个变量绑定,然后通过UpdateData(TRUE)可以将控件的值传入绑定的变量,UpdateData(FALSE)将绑定的变量值传出到控件。
假如我们希望在执行UpdateData(FALSE)后,某些变量的值不会被更新到控件中显示

那么在DoDataExchange函数中添加

c 复制代码
	if (pDX->m_bSaveAndValidate)  
	{
		DDX_Text(pDX, IDC_EDIT, TEST_VALUE);
	}

其中,DDX_Text的绑定方式与普通形式相同,但是增加一个if判断pDX->m_bSaveAndValidate,意思是仅当UpdateData(TRUE)执行时才会进入内部实现数据传递,而当UpdateData(FALSE)时不会进入内部实现数据传递

相关推荐
励志要当大牛的小白菜2 分钟前
ART配对软件使用
开发语言·c++·qt·算法
PAK向日葵1 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
QQ_4376643145 小时前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
liulilittle7 小时前
C++/CLI与标准C++的语法差异(一)
开发语言·c++·.net·cli·clr·托管·原生
小狄同学呀7 小时前
VS插件报错,g++却完美编译?API调用错因分析
c++
程序员编程指南7 小时前
Qt 数据库连接池实现与管理
c语言·数据库·c++·qt·oracle
小乖兽技术7 小时前
C#与C++交互开发系列(二十四):WinForms 应用中嵌入C++ 原生窗体
c++·c#·交互
张北北.7 小时前
【深入底层】C++开发简历4+4技能描述6
java·开发语言·c++
刚入坑的新人编程8 小时前
暑期算法训练.9
数据结构·c++·算法·leetcode·面试·排序算法
破刺不会编程10 小时前
linux线程概念和控制
linux·运维·服务器·开发语言·c++