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)时不会进入内部实现数据传递

相关推荐
超爱笑嘻嘻26 分钟前
shared_ptr八股收集 C++
c++
我想进大厂1 小时前
图论---朴素Prim(稠密图)
数据结构·c++·算法·图论
我想进大厂1 小时前
图论---Bellman-Ford算法
数据结构·c++·算法·图论
光而不耀@lgy1 小时前
C++初登门槛
linux·开发语言·网络·c++·后端
啊丢_1 小时前
C++——Lambda表达式
开发语言·c++
Wendy_robot2 小时前
【滑动窗口+哈希表/数组记录】Leetcode 438. 找到字符串中所有字母异位词
c++·算法·leetcode
转基因3 小时前
Codeforces Round 1020 (Div. 3)(题解ABCDEF)
数据结构·c++·算法
whoarethenext3 小时前
c++的jsoncpp使用
开发语言·c++·jsoncpp
我想进大厂4 小时前
图论---Kruskal(稀疏图)
数据结构·c++·算法·图论
_w_z_j_5 小时前
C++----模拟实现string
开发语言·c++