標準的なダイアログ データ エクスチェンジ ルーチン

このトピックでは、一般的な MFC ダイアログ コントロールに使用される標準ダイアログ データ交換 (DDX) ルーチンの一覧を示します。

Note

標準ダイアログ・データ交換ルーチンは、ヘッダー・ファイル afxdd_.hに定義されています。 ただし、アプリケーションには次を含める afxwin.h必要があります。

DDX 関数

名前 説明
DDX_CBIndex コンボ ボックス コントロールの現在の選択範囲のインデックスを初期化または取得します。
DDX_CBString コンボ ボックス コントロールの編集フィールドの現在の内容を初期化または取得します。
DDX_CBStringExact コンボ ボックス コントロールの編集フィールドの現在の内容を初期化または取得します。
DDX_Check チェック ボックス コントロールの現在の状態を初期化または取得します。
DDX_Control ダイアログ ボックス内の特定のコントロールをサブクラス化します。
DDX_DateTimeCtrl 日付と時刻の選択コントロールの日付と時刻のデータを初期化または取得します。
DDX_IPAddress IP アドレス コントロールの現在の値を初期化または取得します。
DDX_LBIndex リスト ボックス コントロールの現在の選択範囲のインデックスを初期化または取得します。
DDX_LBString リスト ボックス コントロール内の現在の選択範囲を初期化または取得します。
DDX_LBStringExact リスト ボックス コントロール内の現在の選択範囲を初期化または取得します。
DDX_ManagedControl コントロールのリソース ID に一致する .NET コントロールを作成します。
DDX_MonthCalCtrl 月のカレンダー コントロールの現在の値を初期化または取得します。
DDX_Radio 無線コントロール グループ内で現在チェックされている無線コントロールの 0 から始まるインデックスを初期化または取得します。
DDX_Scroll スクロール コントロールのサムの現在位置を初期化または取得します。
DDX_Slider スライダー コントロールのつまみの現在位置を初期化または取得します。
DDX_Text 編集コントロールの現在の値を初期化または取得します。

DDX_CBIndex

この関数は DDX_CBIndex 、ダイアログ ボックス、 int フォーム ビュー、またはコントロール ビュー オブジェクトのコンボ ボックス コントロールと int 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_CBIndex(
    CDataExchange* pDX,
    int nIDC,
    int& index);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられているコンボ ボックス コントロールのリソース ID。

index
データを交換するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

呼び出されると DDX_CBIndexindex 現在のコンボ ボックス選択のインデックスに設定されます。 項目が選択されていない場合は、 index 0 に設定されます。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_CBString

この関数は DDX_CBString 、ダイアログ ボックス、 CString フォーム ビュー、またはコントロール ビュー オブジェクトのコンボ ボックス コントロールの編集コントロールと CString 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_CBString(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられているコンボ ボックス コントロールのリソース ID。

value
データを交換するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

呼び出されると DDX_CBStringvalue 現在のコンボ ボックスの選択に設定されます。 項目が選択されていない場合は、 value 長さが 0 の文字列に設定されます。

Note

コンボ ボックスがドロップダウン リスト ボックスの場合、交換される値は 255 文字に制限されます。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_CBStringExact

この関数は DDX_CBStringExact 、ダイアログ ボックス、 CString フォーム ビュー、またはコントロール ビュー オブジェクトのコンボ ボックス コントロールの編集コントロールと CString 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_CBStringExact(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられているコンボ ボックス コントロールのリソース ID。

value
データを交換するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

呼び出されると DDX_CBStringExactvalue 現在のコンボ ボックスの選択に設定されます。 項目が選択されていない場合は、 value 長さが 0 の文字列に設定されます。

Note

コンボ ボックスがドロップダウン リスト ボックスの場合、交換される値は 255 文字に制限されます。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_Check

この関数はDDX_Check、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのintチェック ボックス コントロールとint、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_Check(
    CDataExchange* pDX,
    int nIDC,
    int& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられているチェック ボックス コントロールのリソース ID。

value
データを交換するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

呼び出されるとDDX_Checkvalueチェック ボックス コントロールの現在の状態に設定されます。 使用可能な状態値の一覧については、Windows SDK を参照してください BM_GETCHECK

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_Control

この関数は DDX_Control 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトで指定された nIDCコントロールをサブクラス化します。

void AFXAPI DDX_Control(
    CDataExchange* pDX,
    int nIDC,
    CWnd& rControl);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。

nIDC
サブクラス化するコントロールのリソース ID。

rControl
指定したコントロールに関連するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

オブジェクトは pDX 、関数が呼び出されたときに DoDataExchange フレームワークによって提供されます。 したがって、 DDX_Control のオーバーライド DoDataExchange内でのみ呼び出す必要があります。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_DateTimeCtrl

この関数は DDX_DateTimeCtrl 、ダイアログ ボックスまたはフォーム ビュー オブジェクトの日付と時刻の選択コントロール ( CDateTimeCtrl) と、ダイアログ ボックスまたはフォーム ビュー オブジェクト CTime のデータ メンバーとの間での日付データや COleDateTime 時刻データの転送を管理します。

void AFXAPI DDX_DateTimeCtrl(
    CDataExchange* pDX,
    int nIDC,
    CTime& value);

void AFXAPI DDX_DateTimeCtrl(
    CDataExchange* pDX,
    int nIDC,
    COleDateTime& value);

void AFXAPI DDX_DateTimeCtrl(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。 このオブジェクトを削除する必要はありません。

nIDC
メンバー変数に関連付けられている日付と時刻の選択コントロールのリソース ID。

value
最初の 2 つのバージョンでは、データを交換する a CTime または COleDateTime メンバー変数、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトへの参照。 3 番目のバージョンでは、データ メンバー コントロール ビュー オブジェクトへの CString 参照。

解説

呼び出されると DDX_DateTimeCtrlvalue 日付と時刻の選択コントロールの現在の状態に設定されるか、コントロールが交換の方向に応じて 、に value設定されます。

上記の 3 番目のバージョンでは、DDX_DateTimeCtrl日付時刻コントロールとCStringコントロール ビュー オブジェクトのCStringデータ メンバー間のデータ転送を管理します。 文字列は、日付と時刻を書式設定するための現在のロケールの規則を使用して書式設定されます。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_ManagedControl

コントロールのリソース ID に一致する .NET コントロールを作成します。

構文

template <typename T>
void DDX_ManagedControl(
   CDataExchange* pDX,
   int nIDC,
   CWinFormsControl<T>& control );

パラメーター

pDX
クラス オブジェクトへのCDataExchangeポインター。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられているコントロールのリソース ID。

control
Class オブジェクトへのCWinFormsControl参照。

解説

DDX_ManagedControl リソース コントロール ID に一致するコントロールを作成する呼び出し CWinFormsControl::CreateManagedControl 。 でリソース ID からコントロールをCDialog::OnInitDialog作成するために使用DDX_ManagedControlします。 データ交換の場合、Windows フォームコントロールで DDX/DDV 関数を使用する必要はありません。

詳細については、「方法: Windows フォームを使用して DDX/DDV データ バインディングを実行する」を参照してください

要件

ヘッダー:afxwinforms.h

DDX_IPAddress

この関数は DDX_IPAddress 、IP アドレス コントロールとコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_IPAddress(
    CDataExchange* pDX,
    int nIDC,
    DWORD& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられている IP アドレス コントロールのリソース ID。

value
IP アドレス コントロールの DWORD 4 フィールド値を含むへの参照。 フィールドは、次のように入力または読み取られます。

フィールド フィールド値を含むビット
3 0 ~ 7
2 8 ~ 15
1 16 ~ 23
0 24 ~ 31

Win32 IPM_GETADDRESS を使用して値を読み取るか、値を入力するために使用 IPM_SETADDRESS します。 これらのメッセージについては、Windows SDK で説明します。

解説

呼び出されると DDX_IPAddressvalue IP アドレス コントロールから読み取るか、交換 value の方向に応じてコントロールに書き込まれます。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_LBIndex

この関数は DDX_LBIndex 、ダイアログ ボックス、 int フォーム ビュー、またはコントロール ビュー オブジェクトのリスト ボックス コントロールと int 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_LBIndex(
    CDataExchange* pDX,
    int nIDC,
    int& index);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられているリスト ボックス コントロールのリソース ID。

index
データを交換するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

呼び出されると DDX_LBIndexindex 現在のリスト ボックス選択のインデックスに設定されます。 項目が選択されていない場合は、 index -1 に設定されます。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_LBString

この関数は DDX_LBString 、ダイアログ ボックス、 CString フォーム ビュー、またはコントロール ビュー オブジェクトのリスト ボックス コントロールと CString 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_LBString(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられているリスト ボックス コントロールのリソース ID。

value
データを交換するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

リスト ボックス コントロールにデータを転送するために呼び出されると DDX_LBString 、最初に一致するコントロール内の最初の value 項目が選択されます。 (単なるプレフィックスではなく項目全体に一致するには、.) を使用 DDX_LBStringExactします。一致するものがない場合、項目は選択されません。 照合では大文字と小文字が区別されません。

リスト ボックス コントロールからデータを転送するために呼び出されると DDX_LBStringvalue 現在のリスト ボックスの選択に設定されます。 項目が選択されていない場合は、 value 長さが 0 の文字列に設定されます。

Note

リスト ボックスがドロップダウン リスト ボックスの場合、交換される値は 255 文字に制限されます。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_LBStringExact

この関数は DDX_CBStringExact 、ダイアログ ボックス、 CString フォーム ビュー、またはコントロール ビュー オブジェクトのリスト ボックス コントロールの編集コントロールと CString 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_LBStringExact(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられているリスト ボックス コントロールのリソース ID。

value
データを交換するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

リスト ボックス コントロールにデータを転送するために呼び出されると DDX_LBStringExact 、一致 value するコントロールの最初の項目が選択されます。 (項目全体ではなくプレフィックスのみを照合するには、.) を使用 DDX_LBStringします。一致するものがない場合、項目は選択されません。 照合では大文字と小文字が区別されません。

リスト ボックス コントロールからデータを転送するために呼び出されると DDX_CBStringExactvalue 現在のリスト ボックスの選択に設定されます。 項目が選択されていない場合は、 value 長さが 0 の文字列に設定されます。

Note

リスト ボックスがドロップダウン リスト ボックスの場合、交換される値は 255 文字に制限されます。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_MonthCalCtrl

この関数はDDX_MonthCalCtrl、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクト内の月のカレンダー コントロール ( CMonthCalCtrl) とCTimeCOleDateTime、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間の日付データの転送を管理します。

void AFXAPI DDX_MonthCalCtrl(
    CDataExchange* pDX,
    int nIDC,
    CTime& value);

void AFXAPI DDX_MonthCalCtrl(
    CDataExchange* pDX,
    int nIDC,
    COleDateTime& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。 このオブジェクトを削除する必要はありません。

nIDC
メンバー変数に関連付けられている月のカレンダー コントロールのリソース ID。

value
データを交換するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトの、またはCOleDateTimeメンバー変数へのCTime参照。

解説

Note

コントロールは日付値のみを管理します。 time オブジェクトの時刻フィールドは、コントロール ウィンドウの作成時刻、またはコントロールで CMonthCalCtrl::SetCurSel設定された時刻を反映するように設定されます。

呼び出されると DDX_MonthCalCtrlvalue 月カレンダー コントロールの現在の状態に設定されます。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_Radio

この関数は DDX_Radio 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクト内の int ラジオ コントロール グループと int 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。 データ メンバーの int 値は、グループ内のどのラジオ ボタンが選択されているかによって決まります。

void AFXAPI DDX_Radio(
    CDataExchange* pDX,
    int nIDC,
    int& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
グループ内の最初の無線コントロールのリソース ID。

value
データを交換するダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

呼び出されると DDX_Radiovalue 無線制御グループの現在の状態に設定されます。 この値は、現在チェックされている無線コントロールの 0 から始まるインデックスとして設定され、無線コントロールがチェックされていない場合は -1 として設定されます。

たとえば、グループ内の最初のラジオ ボタンがチェックされた場合 (WS_GROUP スタイルのボタン)、メンバーのint値は 0 などになります。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_Scroll

この関数は DDX_Scroll 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトの int スクロール バー コントロールと int 、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_Scroll(
    CDataExchange* pDX,
    int nIDC,
    int& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
コントロール プロパティに関連付けられているスクロール バー コントロールのリソース ID。

value
データの交換相手になるダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのメンバー変数への参照。

解説

呼び出されると DDX_Scrollvalue コントロールのつまみの現在位置に設定されます。 コントロールのサムの現在位置に関連付けられている値の詳細については、Windows SDK を参照してください GetScrollPos

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

DDX_Slider

この関数は DDX_Slider 、ダイアログ ボックスまたはフォーム ビューの int スライダー コントロールと int 、ダイアログ ボックスまたはフォーム ビュー オブジェクトのデータ メンバー間のデータ転送を管理します。

void AFXAPI DDX_Slider(
    CDataExchange* pDX,
    int nIDC,
    int& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
スライダー コントロールのリソース ID。

value
交換する値への参照。 このパラメーターは、スライダー コントロールの現在位置を保持または設定します。

解説

呼び出されると DDX_Slidervalue コントロールのサムの現在の位置に設定されるか、交換の方向に応じて値が位置を受け取ります。

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。 スライダー コントロールの詳細については、「使用CSliderCtrl」を参照してください

要件

ヘッダーafxdd_.h

DDX_Text

この関数はDDX_TextDWORDfloatlongUINTCStringダイアログ ボックス、intフォーム ビュー、またはdoubleコントロール ビューの編集コントロールとCString、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトのデータ メンバーとの間での、データの転送を管理します。

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    BYTE& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    short& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    int& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    UINT& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    long& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    DWORD& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    CString& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    float& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    double& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    COleCurrency& value);

void AFXAPI DDX_Text(
    CDataExchange* pDX,
    int nIDC,
    COleDateTime& value);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

nIDC
ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトの編集コントロールの ID。

value
ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクト内のデータ メンバーへの参照。 データ型 value は、使用するオーバーロードされたバージョン DDX_Text によって異なります。

解説

DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

要件

ヘッダーafxdd_.h

関連項目

標準的なダイアログ データ検証ルーチン
マクロとグローバル
CWinFormsControl::CreateManagedControl
CDialog::OnInitDialog