Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This topic lists the standard dialog data exchange (DDX) routines used for common MFC dialog controls.
Note
The standard dialog data exchange routines are defined in the header file afxdd_.h. However, applications should include afxwin.h.
DDX Functions
| Name | Description |
|---|---|
DDX_CBIndex |
Initializes or retrieves the index of the current selection of a combo box control. |
DDX_CBString |
Initializes or retrieves the current contents of the edit field of a combo box control. |
DDX_CBStringExact |
Initializes or retrieves the current contents of the edit field of a combo box control. |
DDX_Check |
Initializes or retrieves the current state of a check box control. |
DDX_Control |
Subclasses a given control within a dialog box. |
DDX_DateTimeCtrl |
Initializes or retrieves date and/or time data of a date and time picker control. |
DDX_IPAddress |
Initializes or retrieves the current value of an IP address control. |
DDX_LBIndex |
Initializes or retrieves the index of the current selection of a list box control. |
DDX_LBString |
Initializes or retrieves the current selection within a list box control. |
DDX_LBStringExact |
Initializes or retrieves the current selection within a list box control. |
DDX_ManagedControl |
Creates a .NET control matching the control's resource ID. |
DDX_MonthCalCtrl |
Initializes or retrieves the current value of a month calendar control. |
DDX_Radio |
Initializes or retrieves the 0-based index of the radio control that is currently checked within a radio control group. |
DDX_Scroll |
Initializes or retrieves the current position of a scroll control's thumb. |
DDX_Slider |
Initializes or retrieves the current position of a slider control's thumb. |
DDX_Text |
Initializes or retrieves the current value of an edit control. |
DDX_CBIndex
The DDX_CBIndex function manages the transfer of int data between a combo box control in a dialog box, form view, or control view object and an int data member of the dialog box, form view, or control view object.
void AFXAPI DDX_CBIndex(
CDataExchange* pDX,
int nIDC,
int& index);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the combo box control associated with the control property.
index
A reference to a member variable of the dialog box, form view, or control view object with which data is exchanged.
Remarks
When DDX_CBIndex is called, index is set to the index of the current combo box selection. If no item is selected, index is set to 0.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_CBString
The DDX_CBString function manages the transfer of CString data between the edit control of a combo box control in a dialog box, form view, or control view object and a CString data member of the dialog box, form view, or control view object.
void AFXAPI DDX_CBString(
CDataExchange* pDX,
int nIDC,
CString& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the combo box control associated with the control property.
value
A reference to a member variable of the dialog box, form view, or control view object with which data is exchanged.
Remarks
When DDX_CBString is called, value is set to the current combo box selection. If no item is selected, value is set to a string of zero length.
Note
If the combo box is a drop-down list box, the value exchanged is limited to 255 characters.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_CBStringExact
The DDX_CBStringExact function manages the transfer of CString data between the edit control of a combo box control in a dialog box, form view, or control view object and a CString data member of the dialog box, form view, or control view object.
void AFXAPI DDX_CBStringExact(
CDataExchange* pDX,
int nIDC,
CString& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the combo box control associated with the control property.
value
A reference to a member variable of the dialog box, form view, or control view object with which data is exchanged.
Remarks
When DDX_CBStringExact is called, value is set to the current combo box selection. If no item is selected, value is set to a string of zero length.
Note
If the combo box is a drop-down list box, the value exchanged is limited to 255 characters.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_Check
The DDX_Check function manages the transfer of int data between a check box control in a dialog box, form view, or control view object and a int data member of the dialog box, form view, or control view object.
void AFXAPI DDX_Check(
CDataExchange* pDX,
int nIDC,
int& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the check box control associated with the control property.
value
A reference to a member variable of the dialog box, form view, or control view object with which data is exchanged.
Remarks
When DDX_Check is called, value is set to the current state of the check box control. For a list of the possible state values, see BM_GETCHECK in the Windows SDK.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_Control
The DDX_Control function subclasses the control, specified by nIDC, of the dialog box, form view, or control view object.
void AFXAPI DDX_Control(
CDataExchange* pDX,
int nIDC,
CWnd& rControl);
Parameters
pDX
A pointer to a CDataExchange object.
nIDC
The resource ID of the control to be subclassed.
rControl
A reference to a member variable of the dialog box, form view, or control view object related to the specified control.
Remarks
The pDX object is supplied by the framework when the DoDataExchange function is called. Therefore, DDX_Control should only be called within your override of DoDataExchange.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_DateTimeCtrl
The DDX_DateTimeCtrl function manages the transfer of date and/or time data between a date and time picker control ( CDateTimeCtrl) in a dialog box or form view object and either a CTime or a COleDateTime data member of the dialog box or form view object.
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);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction. You don't need to delete this object.
nIDC
The resource ID of the date and time picker control associated with the member variable.
value
In the first two versions, a reference to a CTime or COleDateTime member variable, dialog box, form view, or control view object with which data is exchanged. In the third version, a reference to a CString data member control view object.
Remarks
When DDX_DateTimeCtrl is called, value is set to the current state of the date and time picker control, or the control is set to value, depending on the direction of the exchange.
In the third version above, DDX_DateTimeCtrl manages the transfer of CString data between a date time control and a CString data member of the control view object. The string is formatted using the current locale's rules for formatting dates and times.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_ManagedControl
Creates a .NET control matching the control's resource ID.
Syntax
template <typename T>
void DDX_ManagedControl(
CDataExchange* pDX,
int nIDC,
CWinFormsControl<T>& control );
Parameters
pDX
A pointer to a CDataExchange Class object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the control associated with the control property.
control
A reference to a CWinFormsControl Class object.
Remarks
DDX_ManagedControl calls CWinFormsControl::CreateManagedControl to create a control matching the resource control ID. Use DDX_ManagedControl to create controls from resource IDs in CDialog::OnInitDialog. For data exchange, you do not need to use the DDX/DDV functions with Windows Forms controls.
For more information, see How to: Do DDX/DDV Data Binding with Windows Forms.
Requirements
Header: afxwinforms.h
DDX_IPAddress
The DDX_IPAddress function manages the transfer of data between an IP Address control and a data member of the control view object.
void AFXAPI DDX_IPAddress(
CDataExchange* pDX,
int nIDC,
DWORD& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the IP Address control associated with the control property.
value
A reference to the DWORD containing the four-field value of the IP Address control. The fields are filled or read as follows.
| Field | Bits containing the field value |
|---|---|
| 3 | 0 through 7 |
| 2 | 8 through 15 |
| 1 | 16 through 23 |
| 0 | 24 through 31 |
Use the Win32 IPM_GETADDRESS to read the value, or use IPM_SETADDRESS to fill the value. These messages are described in the Windows SDK.
Remarks
When DDX_IPAddress is called, value is either read from the IP Address control, or value is written to the control, depending on the direction of the exchange.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_LBIndex
The DDX_LBIndex function manages the transfer of int data between a list box control in a dialog box, form view, or control view object and an int data member of the dialog box, form view, or control view object.
void AFXAPI DDX_LBIndex(
CDataExchange* pDX,
int nIDC,
int& index);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the list box control associated with the control property.
index
A reference to a member variable of the dialog box, form view, or control view object with which data is exchanged.
Remarks
When DDX_LBIndex is called, index is set to the index of the current list box selection. If no item is selected, index is set to -1.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_LBString
The DDX_LBString function manages the transfer of CString data between a list box control in a dialog box, form view, or control view object and a CString data member of the dialog box, form view, or control view object.
void AFXAPI DDX_LBString(
CDataExchange* pDX,
int nIDC,
CString& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the list box control associated with the control property.
value
A reference to a member variable of the dialog box, form view, or control view object with which data is exchanged.
Remarks
When DDX_LBString is called to transfer data to a list box control, the first item in the control whose beginning matches value is selected. (To match the entire item rather than just a prefix, use DDX_LBStringExact.) If there are no matches, no items are selected. The matching is case-insensitive.
When DDX_LBString is called to transfer data from a list box control, value is set to the current list box selection. If no item is selected, value is set to a string of zero length.
Note
If the list box is a drop-down list box, the value exchanged is limited to 255 characters.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_LBStringExact
The DDX_CBStringExact function manages the transfer of CString data between the edit control of a list box control in a dialog box, form view, or control view object and a CString data member of the dialog box, form view, or control view object.
void AFXAPI DDX_LBStringExact(
CDataExchange* pDX,
int nIDC,
CString& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the list box control associated with the control property.
value
A reference to a member variable of the dialog box, form view, or control view object with which data is exchanged.
Remarks
When DDX_LBStringExact is called to transfer data to a list box control, the first item in the control that matches value is selected. (To match just a prefix rather than the entire item, use DDX_LBString.) If there are no matches, no items are selected. The matching is case-insensitive.
When DDX_CBStringExact is called to transfer data from a list box control, value is set to the current list box selection. If no item is selected, value is set to a string of zero length.
Note
If the list box is a drop-down list box, the value exchanged is limited to 255 characters.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_MonthCalCtrl
The DDX_MonthCalCtrl function manages the transfer of date data between a month calendar control ( CMonthCalCtrl) in a dialog box, form view, or control view object and either a CTime or a COleDateTime data member of the dialog box, form view, or control view object.
void AFXAPI DDX_MonthCalCtrl(
CDataExchange* pDX,
int nIDC,
CTime& value);
void AFXAPI DDX_MonthCalCtrl(
CDataExchange* pDX,
int nIDC,
COleDateTime& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction. You don't need to delete this object.
nIDC
The resource ID of the month calendar control associated with the member variable.
value
A reference to a CTime or COleDateTime member variable of the dialog box, form view, or control view object with which data is exchanged.
Remarks
Note
The control manages a date value only. The time fields in the time object are set to reflect the creation time of the control window, or whatever time was set in the control with a call to CMonthCalCtrl::SetCurSel.
When DDX_MonthCalCtrl is called, value is set to the current state of the month calendar control.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_Radio
The DDX_Radio function manages the transfer of int data between a radio control group in a dialog box, form view, or control view object and a int data member of the dialog box, form view, or control view object. The value of the int data member is determined according to which radio button within the group is selected.
void AFXAPI DDX_Radio(
CDataExchange* pDX,
int nIDC,
int& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the first radio control in the group.
value
A reference to a member variable of the dialog box, form view, or control view object with which data is exchanged.
Remarks
When DDX_Radio is called, value is set to the current state of the radio control group. The value is set as a 0-based index of the radio control that is currently checked, or -1 if no radio controls are checked.
For example, in case that the first radio button in the group is checked (the button with WS_GROUP style) the value of the int member is 0 and so on.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_Scroll
The DDX_Scroll function manages the transfer of int data between a scroll-bar control in a dialog box, form view, or control view object and an int data member of the dialog box, form view, or control view object.
void AFXAPI DDX_Scroll(
CDataExchange* pDX,
int nIDC,
int& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the scroll-bar control associated with the control property.
value
A reference to a member variable of the dialog box, form view or control view object with which data is exchanged.
Remarks
When DDX_Scroll is called, value is set to the current position of the control's thumb. For more information on the values associated with the current position of the control's thumb, see GetScrollPos in the Windows SDK.
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
DDX_Slider
The DDX_Slider function manages the transfer of int data between a slider control in a dialog box or form view and an int data member of the dialog box or form view object.
void AFXAPI DDX_Slider(
CDataExchange* pDX,
int nIDC,
int& value);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The resource ID of the slider control.
value
A reference to the value to be exchanged. This parameter holds or sets the slider control's current position.
Remarks
When DDX_Slider is called, value is set to the current position of the control's thumb, or the value receives the position, depending on the direction of the exchange.
For more information about DDX, see Dialog Data Exchange and Validation. For information about slider controls, see Using CSliderCtrl.
Requirements
Header afxdd_.h
DDX_Text
The DDX_Text function manages the transfer of int, UINT, long, DWORD, CString, float, or double data between an edit control in a dialog box, form view, or control view and a CString data member of the dialog box, form view, or control view object.
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);
Parameters
pDX
A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
nIDC
The ID of an edit control in the dialog box, form view, or control view object.
value
A reference to a data member in the dialog box, form view, or control view object. The data type of value depends on which of the overloaded versions of DDX_Text you use.
Remarks
For more information about DDX, see Dialog Data Exchange and Validation.
Requirements
Header afxdd_.h
See also
Standard Dialog Data Validation Routines
Macros and Globals
CWinFormsControl::CreateManagedControl
CDialog::OnInitDialog