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

相关推荐
Zach_yuan18 小时前
C++ Lambda 表达式从入门到进阶
开发语言·c++
郝学胜-神的一滴18 小时前
Linux网络编程之Socket函数:构建通信的桥梁
linux·服务器·网络·c++·程序人生
weixin_4454023018 小时前
模板元编程应用场景
开发语言·c++·算法
s1hiyu18 小时前
嵌入式C++低功耗设计
开发语言·c++·算法
fpcc18 小时前
跟我学C++中级篇—线程局部存储的底层分析
c++
Cinema KI18 小时前
C++11(中):可变参数模板将成为重中之重
开发语言·c++
凯子坚持 c18 小时前
C++基于微服务脚手架的视频点播系统---客户端(2)
开发语言·c++·微服务
柯一梦18 小时前
STL2--vector的介绍以及使用
开发语言·c++
txinyu的博客18 小时前
解析muduo源码之 EPollPoller.h & EPollPoller.cc
c++
凯子坚持 c19 小时前
C++基于微服务脚手架的视频点播系统---客户端(3)
开发语言·c++·微服务