Descripcion Del Control De Picture Box
Enviado por Ketse0025 • 15 de Marzo de 2015 • 2.584 Palabras (11 Páginas) • 195 Visitas
Descripción del control PictureBox
El control PictureBox se utiliza para mostrar y cargar archivos de imagen, también para dibujar figuras mediante los métodos gráficos , y también como control contenedor de otros controles, como los controles Frame
Vista de un picturebox con un gráfico cargado
Vista de un PictureBox con un dibujo hecho por nosotros, en este caso un rectángulo :
________________________________________
Propiedad Picture
La principal propiedad del control PictureBox se llama precisamente Picture.
Esta propiedad es la que indica el gráfico que estará cargado. Para cargar un gráfico en visual basic desde el disco, se usa la función LoadPicture. A Esta función le debemos indicar como parámetro la ruta del fichero
Por ejemplo si quisiera cargar un archivo de imagen llamado paisaje.jpg que está ubicado en la unidad c:, y que se cargue cuando le damos un click a un CommandButton, tendriamos que hacer esto:
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Command1_Click()
4. ' -- Le indicamos al método LoadPicture la ruta del gráfico
5. With Picture1
6. .Picture = LoadPicture("c:\paisaje.jpg")
7. End With
8. End Sub
De esta manera estamos cargando el archivo en tiempo de ejecución. Se dice tiempo de ejecución ya que el archivo lo estamos cargando cuando está corriendo el programa. En cambio si quisiéramos cargar el archivo gráfico en tiempo de diseño, tendríamos que seleccionar el control Picture que colocamos en el formulario, ir a la ventana de propiedades de Visual basic, buscar la propiedad Picture, y seleccionar mediante un cuadro de diálogo de windows, buscarlo en la Pc, y cargar el archivo que queramos. Luego de hacer esto, automáticamente se cargaría la imagen en el control.
Nota : El archivo de imagen, Debe ser obligatoriamente un gráfico gif, jpg, bmp, ico, cur . No asi otros formatos, como por ejemplo el PNG, o Tiff. ( Aunque se puede leer estos formatos, pero mediante otras técnicas, utilizando el api de windows )
En este enlace podés descargar un ejemplo que permite mediante el api de windows poder ver archivos Png en visual basic en un control Picture o Formulario
Ahora ¿ Cómo borrar en tiempo de ejecución la imagen cargada y dejar el Picture vacío ?
Muy simple, debemos hacer lo siguiente:
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Command1_Click()
4. ' -- Le indicamos una ruta o path vacío para eliminar la imagen del PictureBox
5. With Picture1
6. .Picture = LoadPicture("")
7. End With
8. End Sub
Otra forma de eliminar la imagen es mediante la palabra reservada de vb Nothing.
Texto planoImprimir
1. ' -- Eliminar la imagen mediante la palabra reservada Nothing de vb
2. With Picture1
3. .Picture = Nothing
4. End With
Una cosa importante es que al utilizar LoadPicture para cargar una imagen, cuando le pasamos la ruta del archivo, el path debe ir entre comillas, y obviamente el path debe ser una ruta a un archivo existente, de lo contrario Visual Basic produciría un error al intentar cargar un archivo que no existe. Si te llegara a dar un error comprueba que escribiste bien la ruta y que el archivo está realmente ubicado allí.
Una forma de comprobar la ruta es mediante un controlador de error de la siguiente forma:
Colocar un Botón en el formulario y un Picture
Texto planoImprimir
1. Option Explicit
2.
3.
4. ' -- Botón que carga una imagen que no existe para recrear el error
5. ' --------------------------------------------------------------------------------
6. Private Sub Command1_Click()
7. On Error GoTo error_handler
8.
9. ' -- Esto generará un error ya que la ruta no es válida.
10. ' -- Luego al producirse el error, se ejecutará el cuadro de mensaje
11. ' -- ubicado en la etiqueta error_handler, mostrarando la descripción del error
12. With Picture1
13. .Picture = LoadPicture("una ruta inválida")
14. End With
15.
16. Exit Sub
17. error_handler:
18. ' -- error 53 - Ruta inválida
19. If Err.Number = 53 Then
20. MsgBox "La ruta no es válida. Verifique el archivo", vbCritical, "Error"
21. ' -- otros errores
22. Else
23. MsgBox Err.Description, vbCritical
24. End If
25. End Sub
26.
27. Private Sub Form_Load()
28. Command1.Caption = "Cargar imagen en picbox"
29. End Sub
________________________________________
Propiedad Autosize
Esta propiedad lo que hace es adaptar o ajustar el control a las dimensiones del gráfico cargado.
Los posibles valores que le podemos dar son True o False. Si le pasamos True el control se autoajusta al tamaño de la imagen, si le pasamos False el control queda con el ancho y alto sin autoajustarse al gráfico
Esta captura muestra esto mismo, el Picture de la izquierda tiene la propiedad Autosize en False, mientras que el otro la tiene en True.
________________________________________
Usar el PictureBox como contenedor
El control PictureBox también funciona como contenedor de otro controles. Esto quiere decir que podemos colocar controles TextBox, botones etc..., dentro del control , y estos estarán contenidos.
Ejemplo : Colocar un Picture1 en el formulario con 2 CommandButton de la siguiente manera:
En la propiedad caption del Command1 coloca "Ocultar PictureBox" y en el otro "Mostrar PictureBox"
Ahora selecciona los controles que quieras de la barra de controles y dibujalos dentro del Picture1. Asegurate que los dibujes dentro del mismo
Los botones Command1 y Command2 hacen lo mismo que el ejemplo anterior, es decir mediante la propiedad Visible del Picture1 , ocultan y hace visible nuevamente al PictureBox, utilizando el valor True o False respectivamente.
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Command1_Click()
4. ' -- Ocultar el Picture
5. Picture1.Visible = False
...