jueves, 27 de marzo de 2014

Programación en Gambas


Los eventos Enter y  Leave

En esta aplicación que proponemos profundizaremos un poco más en el estudio de los eventos en Gambas.

Hasta ahora, nuestro trabajo con eventos se había limitado a los clics sobre los botones. Aunque de hecho este evento es el más frecuente, no es ni mucho menos el único.


En programación, se considera evento a toda interacción del usuario con con el sistema: pulsar una tecla en el teclado, maximizar una ventana, mover el ratón, pasar el ratón por encima de un componente, etc. Cada elemento, incluso el propio formulario, tiene sus propios eventos.

En el post de hoy trabajaremos con dos eventos del elemento label. Haremos una sencilla aplicación que permita cambiar el color de fondo de nuestra ventana al color mostrado en una etiqueta al pasar el cursor del ratón por encima de ella.

Los eventos que tendremos que programar serán: Enter y Leave de cada una de las etiquetas que muestre nuestro formulario, cuyo aspecto será el de la imagen.



Los elementos de que constará serán 3 Labels, un TextLabel para mostrar el texto largo que se muestra y un botón para salir.

Para programar el evento de entrada en una etiqueta, deberemos hacer clic con el botón derecho sobre la etiqueta en cuestión durante el diseño y elegir Evento > Enter.

El código a escribir para cambiar el fondo a color amarillo, por ejemplo, sería:


El evento Leave (Salir), deberemos programarlo para que cuando el cursor salga de la etiqueta nos devuelva el color del fondo de la ventana al definido por defecto:


De este modo, el fondo estará amarillo, sólo mientras permanezcamos con el cursor en el interior de la etiqueta.


El código completo de la aplicación sería:

' Gambas class file
' Evento Enter

PUBLIC SUB _new()
END

PUBLIC SUB Form_Open()
END

PUBLIC SUB lblRojo_Enter()
    FMain.Background = Color.Red
END

PUBLIC SUB lblRojo_Leave()
    FMain.Background = Color.Background
END

PUBLIC SUB lblVerde_Enter()
    FMain.Background = Color.Green
END

PUBLIC SUB lblVerde_Leave()
    FMain.Background = Color.Background
END

PUBLIC SUB lblAmarillo_Enter()
    FMain.Background = Color.Yellow
END

PUBLIC SUB lblAmarillo_Leave()
    FMain.Background = Color.Background
END

PUBLIC SUB btnSalir_Click()
  QUIT
END


No hay comentarios:

Publicar un comentario