代码改变世界

MFC DDX_Control 与 DDX_Text

  youxin  阅读(1321)  评论(0编辑  收藏  举报

DDX_TEXT()的作用可以理解为把字符串变量和控件的文本(WindowText)关联起来, 
DDX_Control()
的作用可以理解为把变量和控件本身关联起来, 
DoDataExchange(pDX)
就是处理所有变量与其关联控件交换数据的函数。

void CView::DoDataExchange(CDataExchange* pDX)

CFormView::DoDataExchange(pDX);
DDX_Text(pDX, IDC_ID_VALUE, m_strID);
DDX_Control(pDX, IDC_ID_VALUE, m_editID);

在程序中
通过update(TRUE)取得控件上的值到m_strID,处理修改后通过update(FALSE)传回控件,界面显示
通过m_editID.GetWindText(str),取得值,处理后,通过m_editID.SetWindText(str)传回控件界面显示

DDX_TEXT()数据交换过程:
UpdateData(TRUE);//将控件的内容传回 m_strName;
m_strName = _T("关联变量");//修改值
UpdateData(FALSE);//将m_strName的值显示到控件
 
DDX_Control()数据交换过程:
CString str;
m_EDT_strName.GetWindowText(str);//得到控件的内容保存到str
str = _T("控件绑定变量");
m_EDT_strName.SetWindowText(str);//设置控件的内容为str

参考:https://blog.csdn.net/sunnzhongg/article/details/56282825

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2016-04-12 java hashcode
2015-04-12 ip相关
2013-04-12 Bootstrap介绍
点击右上角即可分享
微信分享提示