MFCのUpdateData関数の使い方は?

MFCのUpdateData関数は、コントロールからデータを関連するメンバ変数に更新したり、メンバ変数からコントロールにデータを更新したりするために使用されます。

以下は使用方法です:

  1. 例えば、テキストボックスコントロールを更新する必要がある場合は、CString型のメンバ変数を宣言します。これは、ダイアログボックスクラスのヘッダーファイルで行われます。
class CMyDialog : public CDialog
{
    // ...
public:
    CString m_strData;
    // ...
};
  1. 対話ボックスのリソースに対応するコントロールを追加し、コントロールのIDを設定してください。
  2. DoDataExchange関数にコントロールとメンバ変数のマッピングを追加します。例えば、テキストボックスコントロールとメンバ変数m_strDataを関連付けます。
void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Text(pDX, IDC_EDIT_DATA, m_strData);
}
  1. UpdateData関数を使用してデータを更新する場所で呼び出します。例えば、テキストボックスのデータをメンバ変数m_strDataに更新したい場合:
void CMyDialog::OnButtonUpdate()
{
    UpdateData(TRUE);
    // 更新完成后,m_strData中将包含文本框中的数据
}

m_strDataメンバ変数のデータをテキストボックスに更新したい場合:

void CMyDialog::OnButtonUpdate()
{
    // 在更新之前,m_strData中应该包含要显示的数据
    UpdateData(FALSE);
    // 更新完成后,文本框将显示m_strData中的数据
}

注意:UpdateData関数の引数がTRUEの場合、コントロールからメンバー変数にデータを更新します;FALSEの場合、メンバー変数からコントロールにデータを更新します。

bannerAds