winuser.h


DialogProc

DialogProc es una función callback definida en una aplicación que procesa los mensajes enviados a un cuadro de diálogo modal o no modal.

Sintaxis

BOOL CALLBACK DialogProc(
    HWND hwndDlg,  // Manipulador de cuadro de diálogo
    UINT uMsg,     // Mensaje
    WPARAM wParam, // Parámetro palabra, varía 
    LPARAM lParam  // Parámetro doble palabra, varía
  );

Parámetros:

hwndDlg: es el manipulador de la ventana que identifica el cuadro de diálogo.

uMsg: es el código del mensaje.

wParam: es el parámetro de tipo palabra asociado al mensaje.

lParam: es el parámetro de tipo doble palabra asociado al mensaje.

Valor de retorno

Excepto en la respuesta al mensaje WM_INITDIALOG, el procedimiento de diálogo debe retornar con un valor no nulo si procesa el mensaje y cero si no lo hace. Cuando responde a un mensaje WM_INITDIALOG, el procedimiento debe retornar cero si llama a la función SetFocus para poner el foco a uno de los controles del cuadro de diálogo. En otro caso, debe retornar un valor distinto de cero, en ese caso el sistema pondrá el foco en el primer control del diálogo que pueda recibirlo.

Observaciones

Se debe usar el procedimiento de diálogo sólo si se usa una clase de diálogo para el cuadro de diálogo. Esta es la clase por defecto y se usa cuando no se toma una clase explícitamente en la plantilla del cuadro de diálogo. A pesar de que el procedimiento de diálogo es similar al procedimiento de ventana, nunca debe llamar a la función DefWindowProc para procesar mensajes no deseados. Estos mensajes son procesados internamente por el procedimiento de ventana del cuadro de diálogo.

DialogProc es una especie de comodín, un término que se debe sustituir por un nombre de función en la definición de una aplicación.