MFC UpdateData自动更新

 

 

 

嗯,添加一个按钮和我们自己定义的成员变量 关联。

 

 方法1. 在*.rc 或者class 类视图中点击[add variable],就会自动生成DDX_Text(*,*)的内容及其IF

 方法2.  自己写

在XXXDlg.cpp中

这样定义 

DDX_Text(pDX, IDC_USER_NAME, m_UserName);

DDX_Text(pDX, IDC_USER_PASSWD, m_Password);

 

 //=================================

如果,我们创建ComboBox, 里面有2个值“UserName” 和 “Password”

    m_Type.ResetContent();
    m_Type.InsertString(0, "UserName");
    m_Type.InsertString(1, "Password");
    m_Type.SetCurSel(m_Type);

 

 

 

 全局变量 int m_nType=0;用于保存当前选择的item

 

void CIPC_SET_TOOLDlg::OnSelchangeComboP2ptype()     //这个是comboBox的修改事件,通过Dialog->右键Events   选择你想要的哪种Events

    m_nType = m_type.GetItemData(m_type.GetCurSel());//获取下当前点击事件的 选择的item
            
            if(0 == m_nType) //IDC_TEXT   update by m_user
            {   
                GetDlgItem(IDC_TEXT)->SetWindowText(m_UserName);
            }
            if(1 == m_nType) //IDC_TEXT  update by m_Passwd
            {  
                GetDlgItem(IDC_TEXT)->SetWindowText(m_Password);
            }

 



DDX_Text(pDX, IDC_USER_NAME, m_UserName);

DDX_Text(pDX, IDC_USER_PASSWD, m_Password);

这2句话,相当于自动同步, 窗口和全局变量m_UserName,m_Password 的值。

 

有上面同步的设置后,就可以简单赋值了。

update(TRUE);    //IDC_TEXT update by m_Passwd,   所有 窗口界面上的值  赋给变量

update(FALSE);   //m_Passwd update by IDC_TEXT,   所有 变量的值 赋给窗口界面

 

 

posted @   scott_h  阅读(914)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示