[C con Clase] Como trabaja InsertarMenu en WIN API 32

Salvador Pozo salvador en conclase.net
Jue Dic 22 20:55:17 CET 2011


Hola:

En realidad no hay ningún misterio.

Un menú es un control. A su vez, un control es una ventana hija, subordinada a otra ventana (en este caso nuestra ventana principal). Cada ventana, incluidas las ventanas hijas y los controles, tiene un procedimiento de ventana.

En el caso de un menú (o cualquier otro control), se usa un procedimiento de ventana estándar, al que generalmente no tendremos acceso.

El procedimiento de ventana del menú responde a los mensajes que le llegan. De hecho, tiene su propio bucle de mensajes. La norma general es que si el mensaje requiere atención del control, su ventana lo procesa de la forma adecuada, y si no es así, el mensaje se reenvía a la ventana padre (en este caso, nuestra ventana).

Cuando haces clic con el ratón sobre el menú, el mensaje del ratón le llega al procedimiento de ventana del menú, que lo procesará y realizará las tareas necesarias en cada caso. Si la tarea es desplegar el menú, se actualizará la información gráfica necesaria y se enviará un mensaje WM_PAINT al procedimiento de ventana del menú.

Todo esto es transparente para el usuario (para ti y para mi), que se limita a procesar los eventos que afectan directamente a sus ventanas, y dejan que el sistema operativo se ocupe de las suyas.

A fin de cuentas, Windows es un sistema multitarea, y tiene sus ventajas. :)

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net


Más información sobre la lista de distribución Cconclase