Martes, 27 de enero de 2004
Bucle de mensajes
La base de toda aplicación con interfaz gráfica.
Windows como interfaz gráfica, debe responder a la interacción del usuario de una manera prioritaria: Él es el dueño del control, y debe incluso poder cancelar actividades en desarrollo. Esto implica que el procesamiento que realiza un programa, y los mensajes que se recogen del usuario no llevan los mismos tiempos y resultan entre sí asíncronos.
Una aplicación Windows (a partir de la primera llamada que realice al módulo USER32), está en condiciones de recibir mensajes de otras aplicaciones y estímulos provistos por el usuario, a través de una cola.
A medida que el programa se vea en la posibilidad de hacerlo, se fijará si existe algún mensaje al que deba responder y así llevará a cabo las tareas que el usuario le indique.
De hecho, el 99% de las aplicaciones Windows siguen el siguiente derrotero:
1. Registrar una clase de ventana principal (RegisterClass)
2. Crear una instancia de esa clase (CreateWindow)
3. Pedir mensajes hasta que llegue el mensaje de salida (GetMessage)
3.1. Traducir algunos códigos de mensaje para que se interpreten correctamente, y a la vez generen los correspondientes mensajes adicionales, por ejemplo botón abajo y botón arriba, en ciertas circunstancias, generan clic (TranslateMessage)
3.2. Despacharlo al correspondiente procedimiento de ventana (DispatchMessage)
El procedimiento de ventana es una función registrada junto con la clase de ventana (punto 1.), consiste en un switch que responde a cada código de mensaje según la semántica del mismo, y las consideraciones especiales que requiera el comportamiento de la ventana. Distintas ventanas pueden responder al mismo mensaje, de manera diversa: en eso consiste el polimorfismo de la interfaz Windows.
Por: Ignacio Nicolás Rodríguez | Tecnología | Comentarios (0) | Referencias (0)
Comentarios
Comentar




