winuser.h

Mensaje WM_INITDIALOG

Definición

WM_INITDIALOG
hwndFocus = (HWND) wParam; // manipulador del control que recibe el foco 
lInitParam = lParam;       // parámetro de inicialización

El mensaje WM_INITDIALOG se envía al procedimiento de diálogo inmediatamente antes de que el diálogo sea mostrado. El procedimiento de diálogo normalmente usa este mensaje para inicializar los controles y cumplimentar cualquier trabajo de inicialización que afecte a la apariencia del cuadro de diálogo.

Descripción

hwndFocus: valor de wParam. Identifica el control que recibe el foco del teclado por defecto. Windows asigna el foco de teclado por defecto sólo si el procedimiento de ventana retorna con TRUE.

lInitParam: valor de lParam. Especifica datos de inicialización adicionales. Estos datos son pasados a Windows como el parámetro lParamInit en una llamada a las funciones CreateDialogIndirectParam, CreateDialogParam, DialogBoxIndirectParam o DialogBoxParam usadas para crear el cuadro de diálogo. Este parámetro es cero si se usa cualquier otra función para crear el cuadro de diálogo.

Valor de retorno

El procedimiento de diálogo retorna con TRUE para indicar a Windows que debe asignar el foco del teclado al control dado por hwndFocus. En otro caso debe retornar FALSE para evitar que Windows asigne el foco de teclado por defecto.

Comentarios

El control que recibe el foco de teclado por defecto es siempre el primer control del diálogo que es visible, no esta desactivado y tiene el estilo WS_TABSTOP. Entonces el procedimiento de diálogo retorna TRUE, y Windows comprueba el control para asegurarse de que el procedimiento no lo ha desactivado. Si ha sido desactivado, Windows asigna el foco del teclado al siguiente control que es visible, no está desactivado y tiene el estilo WS_TABSTOP.

Una aplicación puede volver con FALSE sólo si ha asignado el foco del teclado a uno de los controles del cuadro de diálogo.