MFCのUpdateData関数の使い方は?
MFCのUpdateData関数は、コントロールからデータを関連するメンバ変数に更新したり、メンバ変数からコントロールにデータを更新したりするために使用されます。
以下は使用方法です:
- 例えば、テキストボックスコントロールを更新する必要がある場合は、CString型のメンバ変数を宣言します。これは、ダイアログボックスクラスのヘッダーファイルで行われます。
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);
}
- UpdateData関数を使用してデータを更新する場所で呼び出します。例えば、テキストボックスのデータをメンバ変数m_strDataに更新したい場合:
void CMyDialog::OnButtonUpdate()
{
UpdateData(TRUE);
// 更新完成后,m_strData中将包含文本框中的数据
}
m_strDataメンバ変数のデータをテキストボックスに更新したい場合:
void CMyDialog::OnButtonUpdate()
{
// 在更新之前,m_strData中应该包含要显示的数据
UpdateData(FALSE);
// 更新完成后,文本框将显示m_strData中的数据
}
注意:UpdateData関数の引数がTRUEの場合、コントロールからメンバー変数にデータを更新します;FALSEの場合、メンバー変数からコントロールにデータを更新します。