En la programación de aplicaciones Win32 , WindowProc (o procedimiento de ventana ), también conocido como WndProc , es una función de devolución de llamada definida por el usuario que procesa los mensajes enviados a una ventana. Esta función se especifica cuando una aplicación registra su clase de ventana y puede tener cualquier nombre (no necesariamente WindowProc ).
El procedimiento de ventana es responsable de manejar todos los mensajes que se envían a una ventana. El prototipo de función de WindowProc viene dado por:
LRESULT LLAMADA DE RETROCESO WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
hwnd
es un identificador de la ventana a la que se envió el mensaje e uMsg
identifica el mensaje real mediante su identificador, como se especifica en winuser.h .
wParam
y lParam
son parámetros cuyo significado depende del mensaje. Una aplicación debe identificar el mensaje y tomar la acción requerida.
Se generan cientos de mensajes diferentes como resultado de diversos eventos que tienen lugar en el sistema y, por lo general, una aplicación procesa solo una pequeña fracción de estos mensajes. Para garantizar que se procesen todos los mensajes, Windows proporciona un procedimiento de ventana predeterminado llamado DefWindowProc que proporciona un procesamiento predeterminado para los mensajes que la aplicación no procesa.
Una aplicación normalmente llama a DefWindowProc al final de su propia función WindowProc , de modo que los mensajes no procesados puedan pasarse al procedimiento predeterminado.