WinApi: Conceptos: Procedimientos de ventana

Un procedimiento de ventana es una función que procesa todos los mensajes destinados a una ventana.

Cada ventana tiene asociado un procedimiento de ventana.

Todas las ventanas de una misma clase comparten el mismo procedimiento de ventana.

El procedimiento de ventana se define en la función de registro de una clase. ( RegisterClass )

Como el procedimiento de ventana es común a todas las ventanas hay que tener cuidado con los recursos que puedan estar compartidos por ellas dentro del procedimiento de ventana.

Un procedimiento es una función que recibe 4 parámetros:

* Window Handle
* Message Identifier
* wParam
* lParam

La función retorna un entero. El retorno debe ser interpretado según el tipo de mensaje procesado.

Como el procedimiento de ventana puede ser llamado recursivamente cuando se procesan los mensajes es conveniente no usar demasiadas variables locales en el mismo y realizar los procesos que demanden los mensajes mediante rutinas externas para no provocar un stack overflow.

En windows existe una función llamada DefWindowProc que define el comportamiento estándar y por defecto de cualquier ventana windows. Cuando escribimos procedimientos de ventana personalizados debemos llamar a esta función para cualquier mensaje que no procesemos explícitamente para dotar a la ventana de un comportamiento mínimo y estándar.

0 comentarios: