このトピックでは、一般的な 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_ManagedControl は CWinFormsControl::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データ メンバーとの間で、int、UINT、long、DWORD、CString、float、または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