MFC中的UpdateData函數(shù)用于將數(shù)據(jù)從控件中更新到關(guān)聯(lián)的成員變量中,或者將數(shù)據(jù)從成員變量中更新到控件中。
使用方法如下:
class CMyDialog : public CDialog
{
// ...
public:
CString m_strData;
// ...
};
在對話框資源中添加相應(yīng)的控件,并設(shè)置控件的ID。
在DoDataExchange函數(shù)中添加控件和成員變量的映射關(guān)系。例如,將文本框控件和成員變量m_strData關(guān)聯(lián)起來:
void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT_DATA, m_strData);
}
void CMyDialog::OnButtonUpdate()
{
UpdateData(TRUE);
// 更新完成后,m_strData中將包含文本框中的數(shù)據(jù)
}
如果想將成員變量m_strData中的數(shù)據(jù)更新到文本框中:
void CMyDialog::OnButtonUpdate()
{
// 在更新之前,m_strData中應(yīng)該包含要顯示的數(shù)據(jù)
UpdateData(FALSE);
// 更新完成后,文本框?qū)@示m_strData中的數(shù)據(jù)
}
注意:UpdateData函數(shù)中的參數(shù)為TRUE時,表示將數(shù)據(jù)從控件更新到成員變量;參數(shù)為FALSE時,表示將數(shù)據(jù)從成員變量更新到控件。