次の方法で共有


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

このトピックでは、一般的な 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_CBIndexが呼び出されると、indexは現在のコンボ ボックス選択のインデックスに設定されます。 項目が選択されていない場合、 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_CBStringが呼び出されると、valueは現在のコンボ ボックスの選択に設定されます。 項目が選択されていない場合、 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_CBStringExactが呼び出されると、valueは現在のコンボ ボックスの選択に設定されます。 項目が選択されていない場合、 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_Checkが呼び出されると、valueはチェック ボックス コントロールの現在の状態に設定されます。 使用可能な状態値の一覧については、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 つのバージョンでは、データを交換する CTime または COleDateTime メンバー変数、ダイアログ ボックス、フォーム ビュー、またはコントロール ビュー オブジェクトへの参照。 3 番目のバージョンでは、 CString データ メンバー コントロール ビュー オブジェクトへの参照。

解説

DDX_DateTimeCtrlが呼び出されると、valueが日付と時刻の選択コントロールの現在の状態に設定されるか、交換の方向に応じてコントロールが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 Class オブジェクトへのポインター。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

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

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

解説

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

詳細については、「方法: do DDX/DDV Data Binding with Windows フォーム」を参照してください。

要件

ヘッダー: afxwinforms.h

DDX_IPAddress

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

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

パラメーター

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

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

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

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

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

解説

DDX_IPAddressが呼び出されると、valueは 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_LBIndexが呼び出されると、indexは現在のリスト ボックス選択のインデックスに設定されます。 項目が選択されていない場合、 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_LBString が呼び出されると、 value は現在のリスト ボックスの選択に設定されます。 項目が選択されていない場合、 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_CBStringExact が呼び出されると、 value は現在のリスト ボックスの選択に設定されます。 項目が選択されていない場合、 value は長さ 0 の文字列に設定されます。

Note

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

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

要件

ヘッダー afxdd_.h

DDX_MonthCalCtrl

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

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

解説

Note

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

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

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_Radioが呼び出されると、valueは無線制御グループの現在の状態に設定されます。 この値は、現在チェックされている無線コントロールの 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_Scrollが呼び出されると、valueはコントロールのつまみの現在位置に設定されます。 コントロールのサムの現在位置に関連付けられている値の詳細については、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_Sliderが呼び出されると、valueはコントロールのサムの現在の位置に設定されるか、値が交換の方向に応じて位置を受け取ります。

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

要件

ヘッダー afxdd_.h

DDX_Text

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

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