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 @ 2013-07-29 18:15  scott_h  阅读(910)  评论(0编辑  收藏  举报