CDialog::DoModal
Llame a esta función miembro para invocar el cuadro de diálogo modal y devolver el resultado del cuadro de diálogo cuando termine.
virtual INT_PTR DoModal( );
Valor devuelto
Un valor de int que especifica el valor del parámetro de nResult pasado a la función miembro de CDialog:: EndDialog , que se utiliza para cerrar el cuadro de diálogo.El valor devuelto es – 1 si la función no pudo crear el cuadro de diálogo, o IDABORT si algún otro error aparece, en este caso Ventana de salida contiene información de error de GetLastError.
Comentarios
Esta función miembro controla toda la interacción con el usuario mientras el cuadro de diálogo está activa.Esto es lo que hace que el cuadro de diálogo modal; es decir, el usuario no puede interactuar con otras ventanas hasta que se cierra el cuadro de diálogo.
Si el usuario hace clic en uno de los pulsadores en el cuadro de diálogo, como ACEPTAR o cancelar, una función miembro de controladores de mensajes, como OnOK o OnCancel, llamar a para intentar cerrar el cuadro de diálogo.La función miembro de OnOK predeterminado validará y actualizará los datos del cuadro de diálogo y se cerrará el cuadro de diálogo con el resultado IDOK, y la función miembro de OnCancel predeterminado se cerrará el cuadro de diálogo con el resultado IDCANCEL sin validar o actualizar los datos del cuadro de diálogo.Puede reemplazar estas funciones de controlador de mensajes para modificar su comportamiento.
[!NOTA]
PreTranslateMessage se denomina ahora para el procesamiento de mensajes cuadro de diálogo modal.
Ejemplo
void CMyDialog::OnMenuShowAboutDialog()
{
// Construct the dialog box passing the
// ID of the dialog template resource
CDialog aboutDlg(IDD_ABOUTBOX);
// Create and show the dialog box
INT_PTR nRet = -1;
nRet = aboutDlg.DoModal();
// Handle the return value from DoModal
switch (nRet)
{
case -1:
AfxMessageBox(_T("Dialog box could not be created!"));
break;
case IDABORT:
// Do something
break;
case IDOK:
// Do something
break;
case IDCANCEL:
// Do something
break;
default:
// Do something
break;
};
}
Requisitos
encabezado: afxwin.h