En la programación de aplicaciones Win32 , WindowProc (o procedimiento de ventana ) 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 se puede nombrar cualquier cosa (no necesariamente WindowProc ).
Manejo de mensajes
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 CALLBACK WindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
hWnd es un identificador de la ventana a la que se envió el mensaje y uMsg identifica el mensaje real. wParam y lParam son parámetros cuyo significado depende del mensaje. Una aplicación debe identificar el mensaje y realizar la acción requerida.
Procesamiento predeterminado
Cientos de mensajes diferentes se producen como resultado de varios 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 todos los mensajes se procesen, Windows proporciona un procedimiento de ventana predeterminado llamado DefWindowProc que proporciona procesamiento predeterminado para los mensajes que la propia aplicación no procesa.
Una aplicación normalmente llama a DefWindowProc al final de su propia función WindowProc para que los mensajes que no haya procesado se pasen al procedimiento predeterminado.