winuser.h


EndDialog

La función EndDialog destruye un cuadro de diálogo modal, hace que el sistema finalice cualquier procesamiento para el cuadro de diálogo.

Sintaxis

BOOL EndDialog(
    HWND hDlg,   // manipulador del cuadro de diálogo
    int nResult  // valor de retorno
   ); 

Parámetros:

hDlg: identifica el cuadro de diálogo a destruir.

nResult: especifica el valor que se devolverá a la aplicación desde la función que creó el cuadro de diálogo.

Valor de retorno

Si la función tiene éxito, el valor de retorno es TRUE.

Si falla, el valor de retorno es FALSE.

Observaciones

Los cuadros de diálogo creados por las funciones DialogBox, DialogBoxParam, DialogBoxIndirect y DialogBoxIndirectParam debes ser destruidos con la función EndDialog. Una aplicación debe llamar a EndDialog desde el interior del procedimiento de diálogo; la función no debe ser usada con ningún otro propósito.

Un procedimiento de diálogo puede llamar a EndDialog en cualquier momento, incluso durante el procesamiento del mensaje WM_INITDIALOG. Si tu aplicación llama a la función mientras WM_INITDIALOG está siendo procesado, el cuadro de diálogo es destruido antes de se mostrado y antes de que el foco de entrada sea asignado.

EndDialog no destruye el diálogo inmediatamente. en vez de eso, activa un flag y permite al procedimiento de diálogo devolver el control al sistema. El sistema verifica ese flag antes de intentar recuperar el siguiente mensaje de la cola de la aplicación. Si el flag está activo, el sistema termina el bucle de mensajes, destruye el cuadro de diálogo y usa el valor en nResult como valor de retorno de la función que creó el cuadro de diálogo.