Sección de tutoriales y manuales vb

Manual - Control ToolBar - Barra de Herramientas

Volver al índice



 

 

 

 

 

 

 

 

 

 

Indice del manual sobre el Control ToolBar

 

 


1 - Descripción del 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.

 

Vista de la ventana de visual basic que permite agregar componentes (ocx, dll) a un proyecto

 

 

Una vista previa del control ToolBar:

Vista previa del control ToolBar

 


2 - Página de propiedades

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:

Página de propiedades del control ToolBar - Vista previa

 

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

 


3 - Enlazar el ImageList con el control ToolBar

 

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.

 


4 - Propiedades mas importantes de los Toolbar

 

Descripción de algunas propiedades mas importantes de la solapa General y botones

 

 


5 - Estilos de los botones, propiedad Style

 

Mediante la propiedad Style de la pestaña botones , podemos definir el estilo que tendrá el mismo. Sus principales valores son:

 

    1. Tbrdefault: botón común
    2. Tbrcheck: determina si el botón está presionado o normal.
    3. Tbrbuttongroup: grupo de botones en el que solo uno puede estar presionado.
    4. Tblseparator: el botón actúa como separador para dar una interface mas organizada.
    5. tbrDropDwn: Es para añadir un menú a un botón en particular al pulsarlo

     

 


6 - Propiedad HotImageList

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:

 

vista del ejemplo para la propiedad HotImageList

 

En este enlace podés ver este mismo ejemplo:

 

Descargar

 


7 - Evento ButtonClick

 

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

Lista de las propiedades del objeto button

 

 

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

 

 

Otro Ejemplo para realizar acciones de acuerdo al botón pulsado:

 

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
 

 


 

8 - Objeto Buttons

El objeto Button tiene una serie de propiedades y métodos para trabajar en tiempo de ejecución:

 


9 - Un ejemplo para ver estos métodos y propiedades del objeto Buttons 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

 


10 - Enlazar un ImageList en tiempo de ejecución

 

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

 


11 - Evento ButtonDropDown

 

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:

 

página de propiedades - toolbar - dropdown

 

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

 


12 - Toolbar mediante CommandButton

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

 


13 - Enalces de íconos

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..

Iconos de 16 pixeles

Iconos de 32 pixeles

 

y esta página hay otros enlaces : Pack de íconos y enlaces con código fuente relacionado

 

 


Buscar en Recursos vb