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, 所有 变量的值 赋给窗口界面