Los programas con interfaz gráfica de usuario suelen basar su funcionamiento en eventos. Esto es, cada vez que el usuario "hace algo" en la aplicación, se genera un evento y éste evento puede tener asociado una función o procedimiento que responda a la acción del usuario.
Si, por ejemplo, el usuario hace click en un control determinado, se generan varios eventos: MousePress, al presionar el botón del ratón, MouseRelease, al liberar el botón del ratón, Click como resultado de esta acción. Si el usuario hace doble click, el evento generado es un DblClick. Por supuesto, no todos los controles son capaces de responder a todos los eventos. No tiene sentido hablar del evento Resize en un botón, puesto que este evento se genera al redimensionar una ventana.
En Gambas, para introducir el código del procedimiento ( 2) correspondiente a un evento, se declara de la siguiente manera:
PUBLIC SUB Control_Evento
Donde Control es el nombre del control que está respondiendo al evento y Evento es el evento que se produce. Algunos controles tienen un evento predeterminado, que es el más usual: un botón tiene como evento predeterminado el Click, etc.
En Gambas, al hacer click sobre cualquier control, se abre el editor de código en la declaración del evento predeterminado, con una excepción. Como comentábamos antes, si el control está asociado a un grupo de acciones, el editor se abre en la declaración del procedimiento correspondiente al grupo de acciones.
Consideraciones relativas al diseño de formularios
Al diseñar el formulario de la aplicación, debemos tener en cuenta varias cuestiones:
- No todos los usuarios utilizan la misma resolución de pantalla, gestor de ventanas y tipo de fuentes. Hay que tener cuidado y no tratar de "aprovechar" demasiado el espacio. Podemos acabar con etiquetas de texto (Label) ilegibles, botones con el texto cortado, etc
- Por la misma razón, conviene que la ventana principal de la aplicación sea redimensionable por el usuario (en Gambas es la propiedad Border del formulario. No es recomendable fijar esta propiedad a Fixed.
- Al crear el formulario, se nos ofrecen varias opciones que pueden ser interesantes:

Las opciones relativas al constructor y destructor nos sirven en el caso de que queramos hacer alguna operación sobre el formulario antes de visualizarlo y al cerrarlo, respectivamente.Aparecen las siguientes declaraciones:
' Gambas class
file PUBLIC SUB _new()
END
PUBLIC SUB _free()
END
PUBLIC SUB Form_Open()
ENDSi seleccionamos elegimos las opciones "Constructor estático" y "Destructor estático", las declaraciones que nos aparecen ahora en el editor de código son:
' Gambas class file
STATIC PUBLIC SUB _init()
END
STATIC PUBLIC SUB _exit()
END
PUBLIC SUB _new()
END
PUBLIC SUB _free()
END
PUBLIC SUB Form_Open()
ENDPodemos así alterar el comportamiento de nuestra aplicación al abrirse y/o cerrarse el formulario. Que el procedimiento esté declarado como STATIC significa que sólo podrá acceder a variables declaradas también como STATIC.
No hay comentarios:
Publicar un comentario