Rutinas de intercambio de datos de cuadros de diálogo estándar

En este tema se enumeran las rutinas de intercambio de datos de cuadros de diálogo (DDX) estándar que se usan para los controles de cuadros de diálogo MFC comunes.

Nota:

Las rutinas de intercambio de datos de cuadros de diálogo estándar se definen en el archivo de encabezado afxdd_.h. Sin embargo, las aplicaciones deben incluir afxwin.h.

Funciones DDX

Nombre Descripción
DDX_CBIndex Inicializa o recupera el índice de la selección actual de un control de cuadro combinado.
DDX_CBString Inicializa o recupera el contenido actual del campo de edición de un control de cuadro combinado.
DDX_CBStringExact Inicializa o recupera el contenido actual del campo de edición de un control de cuadro combinado.
DDX_Check Inicializa o recupera el estado actual de un control de casilla de verificación.
DDX_Control Crea una subclase de un control determinado dentro de un cuadro de diálogo.
DDX_DateTimeCtrl Inicializa o recupera datos de fecha y hora de un control de selector de fecha y hora.
DDX_IPAddress Inicializa o recupera el valor actual de un control de dirección IP.
DDX_LBIndex Inicializa o recupera el índice de la selección actual de un control de cuadro de lista.
DDX_LBString Inicializa o recupera la selección actual de un control de cuadro de lista.
DDX_LBStringExact Inicializa o recupera la selección actual de un control de cuadro de lista.
DDX_ManagedControl Crea un control .NET que coincide con el identificador de recurso del control.
DDX_MonthCalCtrl Inicializa o recupera el valor actual de un control de calendario mensual.
DDX_Radio Inicializa o recupera el índice con base 0 del control de opción que se comprueba actualmente en un grupo de control de opción.
DDX_Scroll Inicializa o recupera la posición actual de la miniatura del control del desplazamiento.
DDX_Slider Inicializa o recupera la posición actual de la miniatura del control del control deslizante.
DDX_Text Inicializa o recupera el valor actual de un control de edición.

DDX_CBIndex

La DDX_CBIndex función administra la transferencia de datos entre un control de int cuadro combinado en un objeto de cuadro de diálogo, vista de formulario o vista de control y un int miembro de datos del cuadro de diálogo, vista de formulario o objeto de vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control de cuadro combinado asociado a la propiedad de control.

index
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Cuando se llama a DDX_CBIndex, index se establece en el índice de la selección del cuadro combinado actual. Si no se selecciona ningún elemento, index se establece en 0.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_CBString

La función DDX_CBString administra la transferencia de datos CString entre el control de edición de un control de cuadro combinado de un objeto de cuadro de diálogo, vista de formulario o vista de control y un miembro de datos CString del objeto de cuadro de dialogo, vista de formulario o vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control de cuadro combinado asociado a la propiedad de control.

value
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Cuando se llama a DDX_CBString, value se establece en la selección del cuadro combinado actual. Si no se selecciona ningún elemento, value se establece en una cadena de longitud cero.

Nota:

Si el cuadro combinado es un cuadro de lista desplegable, el valor intercambiado se limita a 255 caracteres.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_CBStringExact

La función DDX_CBStringExact administra la transferencia de datos CString entre el control de edición de un control de cuadro combinado de un objeto de cuadro de diálogo, vista de formulario o vista de control y un miembro de datos CString del objeto de cuadro de dialogo, vista de formulario o vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control de cuadro combinado asociado a la propiedad de control.

value
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Cuando se llama a DDX_CBStringExact, value se establece en la selección del cuadro combinado actual. Si no se selecciona ningún elemento, value se establece en una cadena de longitud cero.

Nota:

Si el cuadro combinado es un cuadro de lista desplegable, el valor intercambiado se limita a 255 caracteres.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_Check

La función DDX_Check administra la transferencia de datos int entre un control de casilla de verificación de un objeto de cuadro de diálogo, vista de formulario o vista de control y un miembro de datos int del objeto de cuadro de dialogo, vista de formulario o vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control de casilla de verificación asociado a la propiedad de control.

value
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Cuando se llama a DDX_Check, value se establece en el estado actual del control de la casilla de verificación. Para obtener una lista de posibles valores de estado, consulte BM_GETCHECK en Windows SDK.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_Control

La función DDX_Control crea una subclase del control, especificada por nIDC, del objeto de cuadro de diálogo, vista de formulario o vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange .

nIDC
Identificador de recurso del control del que se va a crear una subclase.

rControl
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control relacionado con el control especificado.

Comentarios

El marco de trabajo proporciona el objeto pDX cuando se llama a la función DoDataExchange. Por lo tanto, DDX_Control solo se debe llamar en el contexto de la invalidación de DoDataExchange.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_DateTimeCtrl

La función DDX_DateTimeCtrl administra la transferencia de datos de fecha u hora entre un control de selector de fecha y hora (CDateTimeCtrl) en un cuadro de diálogo o un objeto de vista de formulario y un miembro de datos CTime o COleDateTime del cuadro de diálogo o del objeto de vista de formulario.

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);

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección. No es necesario eliminar este objeto.

nIDC
Identificador de recurso del control de selector de fecha y hora asociado a la variable de miembro.

value
En las dos primeras versiones, referencia a una variable de miembro CTime o COleDateTime del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos. En la tercera versión, una referencia a un objeto de vista de control de miembro de datos CString.

Comentarios

Cuando se llama a DDX_DateTimeCtrl, value se establece en el estado actual del control de selector de fecha y hora, o bien el control se establece en value, dependiendo de la dirección del intercambio.

En la tercera versión anterior, DDX_DateTimeCtrl administra la transferencia de datos CString entre el control de fecha y hora y el miembro de datos CString del objeto de vista de control. A la cadena se le asigna el formato mediante las reglas de configuración regional de formato para fechas y horas.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_ManagedControl

Crea un control .NET que coincide con el identificador de recurso del control.

Sintaxis

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

Parámetros

pDX
Puntero a un objeto de clase CDataExchange. El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control asociado a la propiedad de control.

control
Referencia a un objeto de clase CWinFormsControl.

Comentarios

DDX_ManagedControl llama a CWinFormsControl::CreateManagedControl para crear un control que coincida con el identificador de control de recursos. Use DDX_ManagedControl para crear controles a partir de identificadores de recursos en CDialog::OnInitDialog. Para el intercambio de datos, no es necesario usar las funciones DDX/DDV con controles de Windows Forms.

Para obtener más información, vea Cómo: Enlazar datos DDX/DDV con formularios Windows Forms.

Requisitos

Encabezadoafxwinforms.h:

DDX_IPAddress

La función DDX_IPAddress administra la transferencia de datos entre el control de dirección IP y el miembro de datos del objeto de vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control de dirección IP asociado a la propiedad de control.

value
Referencia a DWORD que contiene el valor de cuatro campos del control de dirección IP. Los campos se rellenan o leen de la siguiente manera.

Campo Bits que contienen el valor del campo
3 0 mediante 7
2 De 8 a 15
1 De 16 a 23
0 De 24 a 31

Use Win32 IPM_GETADDRESS para leer el valor o use IPM_SETADDRESS para rellenar el valor. Estos mensajes se describen en Windows SDK.

Comentarios

Cuando se llama a DDX_IPAddress, value se lee desde el control de dirección IP, o bien value se escribe en el control, en función de la dirección del intercambio.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_LBIndex

La función DDX_LBIndex administra la transferencia de datos int entre un control de cuadro de lista de un objeto de un cuadro de diálogo, vista de formulario o vista de control y un miembro de datos int del objeto de cuadro de dialogo, vista de formulario o vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control de cuadro de lista asociado a la propiedad de control.

index
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Cuando se llama a DDX_LBIndex, index se establece en el índice de la selección del cuadro de lista actual. Si no se selecciona ningún elemento, index se establece en -1.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_LBString

La función DDX_LBString administra la transferencia de datos CString entre un control de cuadro de lista de un objeto de un cuadro de diálogo, vista de formulario o vista de control y un miembro de datos CString del objeto de cuadro de dialogo, vista de formulario o vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control de cuadro de lista asociado a la propiedad de control.

value
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Cuando se llama a DDX_LBString para transferir datos a un control de cuadro de lista, se selecciona el primer elemento del control cuyo inicio coincide con value. (Para que coincida con todo el elemento en lugar de solo con el prefijo, use DDX_LBStringExact). Si no hay coincidencias, no se selecciona ningún elemento. La coincidencia distingue mayúsculas y minúsculas.

Cuando se llama a DDX_LBString para transferir datos desde un control de cuadro de lista, value se establece en la selección del cuadro de lista actual. Si no se selecciona ningún elemento, value se establece en una cadena de longitud cero.

Nota:

Si el cuadro de lista es un cuadro de lista desplegable, el valor intercambiado se limita a 255 caracteres.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_LBStringExact

La función DDX_CBStringExact administra la transferencia de datos CString entre el control de edición de un control de cuadro de lista de un objeto de cuadro de diálogo, vista de formulario o vista de control y un miembro de datos CString del objeto de cuadro de dialogo, vista de formulario o vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control de cuadro de lista asociado a la propiedad de control.

value
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Cuando se llama a DDX_LBStringExact para transferir datos a un control de cuadro de lista, se selecciona el primer elemento del control que coincide con value. (Para que coincida solo con un prefijo en lugar de con todo el elemento, use DDX_LBString). Si no hay coincidencias, no se selecciona ningún elemento. La coincidencia distingue mayúsculas y minúsculas.

Cuando se llama a DDX_CBStringExact para transferir datos desde un control de cuadro de lista, value se establece en la selección del cuadro de lista actual. Si no se selecciona ningún elemento, value se establece en una cadena de longitud cero.

Nota:

Si el cuadro de lista es un cuadro de lista desplegable, el valor intercambiado se limita a 255 caracteres.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_MonthCalCtrl

La función DDX_MonthCalCtrl administra la transferencia de datos de fecha entre un control de calendario mensual (CMonthCalCtrl) de un objeto de cuadro de diálogo, vista de formulario o vista de control y un miembro de datos CTime o COleDateTime del objeto de cuadro de dialogo, vista de formulario o vista de control.

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

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección. No es necesario eliminar este objeto.

nIDC
Identificador de recursos del control de calendario mensual asociado a la variable de miembro.

value
Referencia a una variable de miembro CTime o COleDateTime del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Nota:

El control solo administra un valor de fecha. Los campos de hora del objeto time se establecen para reflejar la hora de creación de la ventana de control, o cualquier hora establecida en el control con una llamada a CMonthCalCtrl::SetCurSel.

Cuando se llama a DDX_MonthCalCtrl, value se establece en el estado actual del control de calendario mensual.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_Radio

La función DDX_Radio administra la transferencia de datos int entre un grupo de control de opción de un objeto de cuadro de diálogo, vista de formulario o vista de control y un miembro de datos int del objeto de cuadro de dialogo, vista de formulario o vista de control. El valor del miembro de datos int se determina según el botón de opción del grupo seleccionado.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del primer control de opción del grupo.

value
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Cuando se llama a DDX_Radio, value se establece en el estado actual del grupo del control de opción. El valor se establece como un índice de base 0 del control de opción que está activado actualmente o como -1 si no se selecciona ningún control de opción.

Por ejemplo, en caso de que el primer botón opción del grupo esté activado (el botón con estilo WS_GROUP) el valor del miembro int es 0 y así sucesivamente.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_Scroll

La función DDX_Scroll administra la transferencia de datos int entre un control de barra de desplazamiento de un objeto de cuadro de diálogo, vista de formulario o vista de control y un miembro de datos int del objeto de cuadro de dialogo, vista de formulario o vista de control.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control de barra de desplazamiento asociado a la propiedad de control.

value
Referencia a una variable de miembro del objeto de cuadro de diálogo, vista de formulario o vista de control con el que se intercambian los datos.

Comentarios

Cuando se llama a DDX_Scroll, value se establece en la posición actual de la miniatura del control. Para obtener más información sobre los valores asociados a la posición actual de la miniatura del control, consulte GetScrollPos en Windows SDK.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

DDX_Slider

La función DDX_Slider administra la transferencia de datos int entre un control de control deslizante de un cuadro de diálogo o vista de formulario y un miembro de datos int del objeto de cuadro de dialogo o vista de formulario.

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

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de recurso del control deslizante.

value
Referencia al valor que se va a intercambiar. Este parámetro contiene o establece la posición actual del control deslizante.

Comentarios

Cuando se llama a DDX_Slider, value se establece en la posición actual de la miniatura del control, o bien el valor recibe la posición dependiendo de la dirección del intercambio.

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo. Para obtener información sobre los controles deslizantes, vea Uso de CSliderCtrl.

Requisitos

Encabezadoafxdd_.h

DDX_Text

La función DDX_Text administra la transferencia de datos int, UINT, long, DWORD, CString, float o double entre un control de edición de un cuadro de diálogo, vista de formulario o vista de control y un miembro de datos CString del objeto de cuadro de dialogo, vista de formulario o vista de control.

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);

Parámetros

pDX
Puntero a un objeto CDataExchange . El marco de trabajo proporciona este objeto para establecer el contexto del intercambio de datos, incluida su dirección.

nIDC
Identificador de un control de edición en el objeto de cuadro de diálogo, vista de formulario o vista de control.

value
Referencia a un miembro de datos en el objeto de cuadro de diálogo, vista de formulario o vista de control. El tipo de datos de value depende de las versiones sobrecargadas de DDX_Text que use.

Comentarios

Para obtener más información sobre DDX, consulte Intercambio y validación de datos de cuadro de diálogo.

Requisitos

Encabezadoafxdd_.h

Consulte también

Rutinas de validación de datos de cuadro de diálogo estándar
Macros y globales
CWinFormsControl::CreateManagedControl
CDialog::OnInitDialog