CWnd::DoDataExchange

ダイアログ データの交換と有効性チェックのためにフレームワークが呼び出します。

virtual void DoDataExchange(
   CDataExchange* pDX 
);

パラメーター

  • pDX
    CDataExchange オブジェクトへのポインター。

解説

この関数は直接呼び出さないでください。 この関数は UpdateData メンバー関数から呼び出されます。 ダイアログ ボックスのコントロールを初期化する、またはダイアログ ボックスからデータを取得するには UpdateData を呼び出してください。

CDialog クラスからアプリケーション固有のクラスを派生したとき、この関数をオーバーライドすると、フレームワークの自動的なデータ交換および有効性チェックを利用できます。 Add Variable ウィザードは、このメンバー関数のオーバーライドしたバージョンを書き込みます。オーバーライドされたメンバー関数には、DDX (ダイアログ データ エクスチェンジ) および DDV (ダイアログ データ バリデーション) のグローバル関数呼び出しの "データ マップ" が含まれます。

このメンバー関数のオーバーライド バージョンを自動的に生成するためには、まずダイアログ エディターを使ってダイアログ リソースを作成します。それから、アプリケーション固有のダイアログ クラスを派生します。 さらに Add Variable ウィザードを使用して、変数、データ、正当性チックの範囲を新しいダイアログ ボックスの各種コントロールに関連付けます。 次に、Add Variable ウィザードは、オーバーライドされた DoDataExchange を書き込みます。DoDataExchange には、データ マップが含まれています。 Add Variable ウィザードが生成する DDX/DDV のコード ブロックの例を次に示します。

void CPenWidthsDlg::DoDataExchange(CDataExchange* pDX)
{
   CDialog::DoDataExchange(pDX);
   DDX_Text(pDX, IDC_THINPENWIDTH, m_nThinWidth);
    DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
   DDX_Text(pDX, IDC_THICKPENWIDTH, m_nThickWidth);
   DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
}

オーバーライドされた DoDataExchange メンバー関数は、ソース ファイルでマクロ ステートメントよりも先に来る必要があります。

ダイアログ データ エクスチェンジおよびダイアログ データ バリデーションに関する詳細については、「フォームでのデータの表示と操作」および「ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。 Add Variable ウィザードで生成される DDX_ マクロおよび DDV_ マクロの説明については、「テクニカル ノート 26: DDX ルーチンおよび DDV ルーチン」を参照してください。

必要条件

**ヘッダー:**afxwin.h

参照

参照

CWnd クラス

階層図

CWnd::UpdateData

概念

CWnd のメンバー