El componente PictureBox
En esta aplicación introduciremos el componente PictureBox, el cual es un espacio capaz de visualizar imágenes. Lo usaremos allí donde tengamos que mostrar una imagen al usuario de nuestra aplicación.
Para mostrar su uso modificaremos el programa de nuestro post anterior, en el que cambiábamos el color de fondo de la ventana al pasar el ratón por encima de unas etiquetas, para que en lugar de eso muestre la imagen del actor de cine que se corresponde con el nombre de la etiqueta.
Su icono en la caja de herramientas es el que se muestra:
Su propiedad más importantes es Picture, la cual especifica qué imagen deberá mostrarse.
Si el programa debe mostrar una imagen estática durante toda la ejecución del mismo, es decir, si la imagen no va a cambiar, entonces podemos establecer la propiedad Picutre cómodamente en tiempo de diseño haciendo click sobre nuestro PictureBox para seleccionarlo y clicando en la propiedad Picture del panel de propiedades. Allí deberemos indicar la imagen que deberá mostrarse, la cual deberá estar accesible en nuestro ordenador, preferentemente en la carpeta de nuestro proyecto.
Si por el contrario, como en la aplicación que nos ocupa, la imagen a mostrar cambia durante la ejecución del programa debido a la interacción del usuario, deberemos establecer la propiedad Picture, de forma dinámica desde nuestro código.
Para indicar mediante código que un elemento PictureBox muestre una imagen llamada "imagen.jpg" debe escribirse:
PictureBox1.Picture = Picture["imagen.jpg"]
Para mostrar su uso modificaremos el programa de nuestro post anterior, en el que cambiábamos el color de fondo de la ventana al pasar el ratón por encima de unas etiquetas, para que en lugar de eso muestre la imagen del actor de cine que se corresponde con el nombre de la etiqueta.
Su icono en la caja de herramientas es el que se muestra:
Su propiedad más importantes es Picture, la cual especifica qué imagen deberá mostrarse.
Si el programa debe mostrar una imagen estática durante toda la ejecución del mismo, es decir, si la imagen no va a cambiar, entonces podemos establecer la propiedad Picutre cómodamente en tiempo de diseño haciendo click sobre nuestro PictureBox para seleccionarlo y clicando en la propiedad Picture del panel de propiedades. Allí deberemos indicar la imagen que deberá mostrarse, la cual deberá estar accesible en nuestro ordenador, preferentemente en la carpeta de nuestro proyecto.
Si por el contrario, como en la aplicación que nos ocupa, la imagen a mostrar cambia durante la ejecución del programa debido a la interacción del usuario, deberemos establecer la propiedad Picture, de forma dinámica desde nuestro código.
Para indicar mediante código que un elemento PictureBox muestre una imagen llamada "imagen.jpg" debe escribirse:
PictureBox1.Picture = Picture["imagen.jpg"]
Visto esto, sólo queda programar los eventos de entrada (Enter) y salida (Leave) de cada etiqueta para que se visualice o se oculte la imagen correspondiente.
Así, por ejemplo, si el puntero de nuestro ratón está sobre la etiqueta Marlon Brando y desplazamos el ratón hasta salir de ella, se disparará evento Leave de dicha etiqueta, lo que debería desencadenar que la imagen actualmente visible de Marlon Brando desapareciera. Esto lo programamos del siguiente modo: en el diseño hacemos clic con el botón derecho del ratón sobre la etiqueta (label) lblMarlonBrando, elegimos Evento > Leave, y escribimos:
PUBLIC SUB lblMarlonBrando_Leave()
PictureBox1.hide()
END
Es decir, usamos el método hide() del objeto PictureBox para ocultar la imagen.
Para el caso en el que el cursor entre en esta misma etiqueta, procedemos del mismo modo para programar el evento Enter.
PUBLIC SUB lblMarlonBrando_Enter()
PictureBox1.show()
PictureBox1.Picture = Picture["Marlon-Brando.jpg"]
END
El código completo de la aplicación sería:
' Gambas class file
' PictureBox
PUBLIC SUB _new()
END
PUBLIC SUB Form_Open()
END
PUBLIC SUB lblAlPacino_Enter()
PictureBox1.show()
PictureBox1.Picture = Picture["Al_Pacino.jpg"]
END
PUBLIC SUB lblMarlonBrando_Enter()
PictureBox1.show()
PictureBox1.Picture = Picture["Marlon-Brando.jpg"]
END
PUBLIC SUB lblBruceWillis_Enter()
PictureBox1.show()
PictureBox1.Picture = Picture["Bruce_Willis.jpg"]
END
PUBLIC SUB lblDeNiro_Enter()
PictureBox1.show()
PictureBox1.Picture = Picture["De_Niro.jpg"]
END
PUBLIC SUB lblAlPacino_Leave()
PictureBox1.hide()
END
PUBLIC SUB lblMarlonBrando_Leave()
PictureBox1.hide()
END
PUBLIC SUB lblBruceWillis_Leave()
PictureBox1.hide()
END
PUBLIC SUB lblDeNiro_Leave()
PictureBox1.hide()
END
PUBLIC SUB btnSalir_Click()
QUIT
END
No hay comentarios:
Publicar un comentario