Compartir a través de


Recuperar datos del objeto de cuadro de diálogo

El marco proporciona una manera sencilla de inicializar los valores de los controles en un cuadro de diálogo y recuperar valores de los controles. El enfoque manual más laborioso es llamar a funciones como las funciones miembro SetDlgItemText y GetDlgItemText de la clase CWnd, que se aplican a las ventanas de control. Con estas funciones, se accede a cada control individualmente para establecer o obtener su valor, llamando a funciones como SetWindowText y GetWindowText. El enfoque del marco automatiza tanto la inicialización como la recuperación.

El intercambio de datos de diálogo (DDX) permite intercambiar datos entre los controles del cuadro de diálogo y las variables miembro del objeto de diálogo con mayor facilidad. Este intercambio funciona de ambas maneras. Para inicializar los controles en el cuadro de diálogo, puede establecer los valores de los miembros de datos en el objeto de diálogo y el marco transferirá los valores a los controles antes de que se muestre el cuadro de diálogo. A continuación, puede actualizar en cualquier momento los miembros de datos del cuadro de diálogo con los datos especificados por el usuario. En ese momento, puede usar los datos haciendo referencia a las variables de miembro de datos.

También puede organizar los valores de los controles de diálogo que se validarán automáticamente con la validación de datos de diálogo (DDV).

DDX y DDV se explican con más detalle en Intercambio y validación de datos de diálogo.

En el caso de un cuadro de diálogo modal, puede recuperar los datos especificados por el usuario cuando DoModal devuelve IDOK, pero antes de que se destruya el objeto de diálogo. En el caso de un cuadro de diálogo modelado, puede recuperar datos del objeto de diálogo en cualquier momento llamando a UpdateData con el argumento TRUE y, a continuación, accediendo a variables miembro de clase de diálogo. Este tema se describe con más detalle en Intercambio y validación de datos de cuadros de diálogo.

Consulte también

Trabajar con cuadros de diálogo en MFC