Sección de tutoriales y manuales vb
Indice del manual sobre el Control ToolBar
Mediante este control de Visual Basic, podemos incorporar a nuestros formularios, barras de herramientas.
Este se incluye en el paquete o conjunto de controles ocx contenidos en el archivo Comctl32.ocx, llamado Microsoft Windows Common Control y que se incorpora a un proyecto desde el menú componentes.
Una vista previa del control ToolBar:
Mediante la Opción Custom o Personalizado del control, se nos abrirá una ventana para configurar el mismo. Esta ventana o " página de propiedades " se puede acceder el menú desplegable al hacer click derecho sobre el control ToolBar
Esta página, contiene tres solapas: una llamada General, otra botones y otra imagen:
La solapa General es para configurar aspectos y características del ToolBar en "general", como por ejemplo el ancho y alto de todos los botones de la barra, el alineamiento del texto (propiedad Alignment), Indicar el control ImageList que esté enlazado a la barra y varias otras opciones
Vista de la solapa General:
En cambio la solapa Botones permite añadir, eliminar, establecer un estilo y otras opciones solo para los botones de la barra de herramientas.
Vista previa de esta ficha
El ToolBar, si es que se desea visualizar imágenes en el mismo ( lo mas habitual ), es necesario que esté enlazado por lo menos con un control imagelist. En este enlace hay una guía básica de este control : Uso del control ImageList de visual basic
Pasos para enlazar un ImageList
A medida que agregamos botones y aplicamos los cambios, la barra muestra los mismos pero sin visualizar las imágenes que habíamos cargadado en el imagelist.
Para poder visualizarlas debemos indicar en la propiedad "Image" de la solapa Botones , la clave (key) o la propiedad index de la imagen del Imagelist, para hacer una referencia a la misma. Es decir, si en el ImageList tengo una imagen que tiene el Index 1, el botón que queremos que contenga esa imagen debe tener el mismo índice. También es válido utilizar la propiedad Key para asociar los gráficos.
Nota: Para realizar el paso anterior, es recomendable utilizar la propiedad key de la imagen en el ImageList . Por ejemplo si tengo una imagen de una "Lupa", que la utilizaré para buscar un archivo, es mas práctico asignarle en la propiedad key del imagelist la clave "buscar" o "búsqueda" y luego en el botón que mostrará la imagen colocamos dicha clave en la propiedad Image del botón de la barra, para referenciar y enlazar el botón de una manera mas fácil.
Descripción de algunas propiedades mas importantes de la solapa General y botones
Mediante la propiedad Style de la pestaña botones , podemos definir el estilo que tendrá el mismo. Sus principales valores son:
Mediante la misma podemos establecer un control ImageList que contendrá los gráficos para cuando se haga un MouseOver ( Se pase el mouse por encima del botón ).
Para hacer esto es muy simple, solo hay que utilizar dos controles ImageList. Uno para cargar los gráficos que mostrarán los botones en el estado normal ( Propiedad ImageList) y otro el otro para HotImageList
Como se ve en este gráfico, el botón de flecha al tener el mouse encima, visualiza el gráfico correspondiente:
En este enlace podés ver este mismo ejemplo:
Este evento se dispara o se produce cada ves que se hace un click sobre un botón de la barra de herramientas.
Este evento tiene un parámetro llamado Button que nos permite acceder a las propiedades y objetos del botón en el cual se hizo el Click.
Un ejemplo: Colocá un Control ToolBar, colocale algunos botones (para este ejemplo no es necesario las imagenes). Ahora colocale en cada botón un valor en la propiedad Caption. Pega el siguiente código:
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
MsgBox Button.Caption
End Sub
Lo anterior lo que hace es mostrar un mensaje con la propiedad Caption del botón que se pulsó. Como te abrás dado cuenta, al escribir el "." luego de la palabra Button, vb te despliega la lista de propiedades, como muestra el siguiente gráfico
Mediante el objeto Button, podemos acceder a varias opciones y propiedades del botón que se ha pulsado.
Otro ejemplo que no tiene mucho sentido, pero para que te des una idea de esta propiedades, colocá en un ToolBar una serie de botones y agregale algunas propiedades a cada uno: como el caption, una descripción y una clave.
Luego el siguiente código en el formualrio
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 'Mostramos el Caption del botón pulsado MsgBox Button.Caption 'Mostramos la propiedad Description (si es que tiene establecida) MsgBox Button.Description 'Mostramos el Valor de la propiedad Index del botón MsgBox Button.Index 'Mostramos el valor de la propiedad Key del botón pulsado MsgBox Button.Key End Sub
Para poder responder a las acciones cuando hacemos click en un botón:
Private Sub toolbar_buttonclick(ByVal button As mscomctllib.button) Select Case button.Key Case "abrir" 'Una acción apara el botón Abrir Case "buscar" 'Para el botón Buscar Case "imprimir" '...Etc End Select End Sub
En el ejemplo anterior tenemos un procedimiento llamado Toolbar_ButtonClick que lleva como parámetro el botón que presionamos. Luego por medio de una estructura Select-Case consultamos que valor ejecutar mediante la clave del botón. Anteriormente debemos haberle establecido un valor a cada Key de cada botón, si no no entrará nunca a la opción que queremos ejecutar. Si quisiéramos consultar o ejecutar una acción determinada de la misma manera que el caso anterior pero utilizando la propiedad Index de cada botón sería de esta forma:
Private Sub toolbar_buttonclick(ByVal button As mscomctllib.button) Select Case button.Index Case 0 'Una acción para el boton que tiene el index con el valor 0 Case 1 'Una acción para el boton que tiene el index con el valor 1 Case 2 'Una acción para el boton que tiene el index con el valor 2 End Select End Sub
El objeto Button tiene una serie de propiedades y métodos para trabajar en tiempo de ejecución:
Colocá un control ToolBar vacío el formulario, es decir sin ningún botón. Luego agrega 2 CommandButton. El Command1 cada ves que lo presiones agregará 5 botones a la barra en tiempo de ejecución, el Command2 eliminará todos los botones recorriendo mediante un bucle desde el primer botón hasta el último que se obtiene con la propiedad Count.
'Bootón que agrega '-------------------- Private Sub Command1_Click() Dim i As Integer 'Agregamos 5 botones al ToollBar en tiempo de ejecución For i = Toolbar1.Buttons.Count To Toolbar1.Buttons.Count + 5 'btn es la clave y se le agrega el valor i que se va _ incrementando, btn1, btn2, btn3, etc... Toolbar1.Buttons.Add , "btn" & i, "botón" & i Next End Sub 'Bootón que elimina '-------------------- Private Sub Command2_Click() Dim i As Integer 'Eliminamos todos los botones del ToolBar en tiempo de ejecución 'Recorriendolos en un bucle y los eliminamos refiriendonos al índice 'De cada botón For i = 0 To Toolbar1.Buttons.Count - 1 Toolbar1.Buttons.Remove ("btn" & i) Next End Sub
El ejemplo anterior agrega con el método Add los botones al ToolBar. Este método posee 5 parámetros que son:
Toolbar1.Buttons.Add "Index", "Key", "Caption", "Style", "Image"
Todos los parámetros estos son opcionales. El primero es el índice del botón. Si no se especifica se agrega al final. El Key es la clave única del botón para identificarlo y poder manipularlo. El Caption es la leyenda que muestra. El Style es el tipo de botón, 0 es normal, el 1 es para botones de tipo Check etc.. (los valores los podés ver desde la ventana Custom en la opción botones). Image es la imagen que mostrará, debemos indicar una que esté contenida en un control ImageList que previamente debe estar enlazado al ToolBar.
En cambio el método Remove solo requiere del Index o el Key para eliminar un botón. Es el único parámetrop que requiere, y este es obligatorio
Nota: si se desea eliminar todos los botones podemos utilizar el método Clear del objeto Buttons, este no requiere parámetros, solo llamarlo para poder eliminar los mismos
Para enlazar en tiempo de ejecución un ImageList con el ToolBar para poder cargar una imagen, podemos hacerlo de esta forma:
'Indicamos el ImageList Toolbar1.ImageList = ImageList1 ' Indicamos la imagen que tendrá el botón _ haciendo referencia a la clave de imagen Toolbar1.Buttons.Item(1).Image = "LaClave"
Donde dice "LaClave" , se refiere al Key de la imagen que está en el ImageList. También podemos pasarle el índice (la propiedad Index).
Toolbar1.ImageList = ImageList1 Toolbar1.Buttons.Item(1).Image = 1
Este evento funciona de forma similar que el evento ButtonClick.
El DropDown es el siguiente estilo:
Estos submenues que se pueden añadir a los botones de menú se configuran desde la opción Custom, en la pestaña botones, luego se selecciona el botón que se quiere añadir este estilo, en el combo Style se selecciona "DropDown", y luego en la parte inferior se pueden añadir botones de manera similar a los botones comunes. La ventana es esta:
Nota: Este control tiene bastantes mas opciones de las que se describieron y esto es solo un pantallazo de algunas de sus principales características
También otra forma de simular Barras de herramientas personalziadas, es mediante algún control ocx para Commandbutton, como por ejemplo : Lv Buttons, control Is Button, Botones estilo office , Commandbutton con degradado , etc...
Estos controles permiten establecer a los botones colores personalizados para el BackColor, MouseOver, asignarles algún estilo predeterminado etc.
Vista previa de ejemplo :
Este toolBar está realizado con el control llamado Chamaleon Button control
También podés ver en los siguientes enlaces, varios ejemplos relacionados : Página de enlaces de ejemplos y controles para implementar barras de herramientas en vb
Desde estos links podés descargar conjuntos de archivos de íconos ( formato .ico de 256 colores ) para poder usar con el control ToolBar y otros controles de imagen como ListView, image, picturebox , botones etc..
y esta página hay otros enlaces : Pack de íconos y enlaces con código fuente relacionado
Buscar en Recursos vb
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar