MFC中的UpdateData函数用于将数据从控件中更新到关联的成员变量中,或者将数据从成员变量中更新到控件中。
使用方法如下:
class CMyDialog : public CDialog
{
// ...
public:
CString m_strData;
// ...
};
在对话框资源中添加相应的控件,并设置控件的ID。
在DoDataExchange函数中添加控件和成员变量的映射关系。例如,将文本框控件和成员变量m_strData关联起来:
void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT_DATA, m_strData);
}
void CMyDialog::OnButtonUpdate()
{
UpdateData(TRUE);
// 更新完成后,m_strData中将包含文本框中的数据
}
如果想将成员变量m_strData中的数据更新到文本框中:
void CMyDialog::OnButtonUpdate()
{
// 在更新之前,m_strData中应该包含要显示的数据
UpdateData(FALSE);
// 更新完成后,文本框将显示m_strData中的数据
}
注意:UpdateData函数中的参数为TRUE时,表示将数据从控件更新到成员变量;参数为FALSE时,表示将数据从成员变量更新到控件。