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

相关推荐
clint4563 天前
C++进阶(1)——前景提要
c++
夜悊3 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴3 天前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0013 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
玖玥拾4 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
один but you4 天前
constexpr函数
c++
凡人叶枫4 天前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫4 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
小胖xiaopangss4 天前
BRpc使用
c++·rpc
-森屿安年-4 天前
63. 不同路径 II
c++·算法·动态规划