Sección de controles Ocx para Visual basic , Dll , Activex
<Volver> - Anterior - Siguiente
-- > Links
Este es un control para utilizar barras de estado que permite establecerle un skin para cambiar el estilo y la apariencia. El control es mas simple que el statusbar de visual basic, aunque contiene las propiedades y opciones básicas para poder crear paneles y mostrar datos e información del programa.
Las opciones que SI se pueden utilizar son
Algunas de las opciones que NO permite el control son :
AddPanel
Este es el método principal y sirve para crear un nuevo panel. Tiene los siguientes parámetros todos opcionales
Sub AddPanel( _ Optional sText As String, _ Optional sKey As String, _ Optional lWidth As Long = 96, _ Optional ByVal lForeColor As Long = -1, _ Optional lBackColorPanel As Long = -1, _ Optional lBorderColorPanel As Long = -1, _ Optional ByVal bBold As Boolean)
Descripción de los parámetros
Notas :
ChangeTextPanel
Función para cambiar el texto de un panel (sería como la propiedad Text del objeto panels del control statusbar de vb.)
Se le debe indicar el nuevo texto y el índice del panel a modificar.
Por ejemplo esto crea dos paneles de 120 pixeles de ancho al cargar el programa, y luego le cambia el texto al presionar un botón.
Private Sub Form_Load() ' -- crear dos nuevos paneles de 120 pixeles par el primero, y 200 pixeles para el 2 With ucStatusBar1 .AddPanel "Panel 1", , 120 .AddPanel "Panel 2", , 200 End With End Sub ' -- Botón para cambiar los dos paneles anteriores ' ------------------------------------------------------------ Private Sub Command3_Click() With ucStatusBar1 ' -- Cambiar el que tiene Indice 1 Call .ChangeTextPanel("Nuevo valor", 1) ' -- Cambiar el que tiene Indice 2 Call .ChangeTextPanel("Nuevo valor", 2) End With End Sub
ClearPanels
Para eliminar todos los paneles de la barra de estado
' \\ -- Eliminar
' --------------------------------------------
Private Sub cmdClear_Click()
With ucStatusBar1
call .ClearPanels
End With
End Sub
ClearPanelByIndex , ClearPanelByKey
Para eliminar un panel, ya sea por la clave o por el índice.
SetControlPanel
Esta función es para poder colocar un control en un panel, por ejemplo un ProgressBar. ( En el final de la página hay un ejemplo )
Importante. No se puede color cualquier tipo de control, ya que algunos, al incrustarlos, ya no se puede volver a referenciarlos desde el formulario, por ejemplo si se incrusta un botón o CommandButton, se coloca correctamente en el panel, pero por ejemplo el evento Clic ya no responde.
SetProgressBarColor
Función o método para cambiar el color de fondo y las líneas de progreso para un control Progressbar utilizando la Api de windows SendMessage.
Esta función es para adaptar el Progress a la apariencia que tenga el skin actual. Nota. Se puede establecer la propiedad Border Style del Progressbar en 0,y la propiedad Apariencia en Flat, para que el control quede con el borde del panel. (En la versión 5 del windows CommonControls, no se puede eliminar completamente el borde directamente desde vb, a no ser utilizando algún método con la api de windows.)
ShowToolTipPanel
Este método muestra un BalloonTip de información para un panel
Nota. El BalloonTip solo se visualiza cuando el programa se encuentra compilado. También, el ejecutable debe tener un archivo Manifest y haber ejecutado la función Api InitCommonControls desde el punto de inicio del programa ( procedimiento SubMain o Evento Initialize del formulario principal de la aplicación ) para poder establecer el tema de windows. Otra cosa importante, es que si utilizas el ejemplo de esa página, creo que solo funciona con controles de clase "Edit" , por ejemplo un control TextBox, un control ComboBox, y cualquier otro que contenga un control de este tipo, por ejemplo un ImageCombo (aunque no lo he probado.)
A la función hay que indicarle la duración en milisegundos, el texto, el título y el ícono o tipo de BalloonTip ( el tipo puede ser con ícono de error, de información, advertencia o simple, es decir sin ícono)
También se debe indicar el índice del panel en donde se desplegará. ( Al final de la página hay un ejemplo simple de como mostrar un BalloonTip en un panel ).
El control prácticamente no contiene propiedades.
Nota. Para crear un estilo propio es muy simple, y se debe crear una imagen de 15 pixeles de ancho por 23 de alto. :
Por ejemplo asi : Imagen ampliada ( El borde debe ser de un pixel de grosor, )
Luego para cargarlo en tiempo de ejecución , es con la propiedad CustomSkin y utilizando la instrucción set de visual basic
Si se carga desde una imagen ubicada en el disco, usando el método LoadPicture
With ucStatusBar1
Set .CustomSkin = LoadPicture("ruta de la imagen")
End With
Tiene los eventos básicos. El principal, es Panel Click que se produce al hacer clic en un panel, se puede utilizar para desplegar por ejemplo un menú popup.
Este ejemplo muestra la hora y fecha en un panel, y también utiliza una clase para modificar la apariencia de un ToolBar.
Nota: para el panel que muestra la hora, se debe utilizar un timer y dentro del timer cambiar el texto con la función ChangePanelText, ya que no tiene implementado una propiedad que permite hacerlo en forma automática, como por ejemplo el estilo sbrTime que posee la barra de estado de vb.
Ejemplo para descargar un archivo, y visualizar en el panel con índice 1 el total del archivo, en otro panel los bytes leídos, y en el panel con índice 3 la barra de progreso.
Notas.
Formulario para buscar archivos, que al iniciar la búsqueda, crea un un panel para ver la ruta completa del archivo actual, y cuando finaliza y temina de buscar, crea tres paneles para visualizar los detalles : El total de archivos encontrados, la cantidad de carpetas encontradas, y el tamaño total del directorio.
Este ejemplo , busca nodos o items en un control Treeview, si el término a buscar no se encuentra, entonces despliega un BallonTip, si no, muestra en el panel el path completo del nodo ( propiedad FullPath del Treeview ). Nota. el BallonTip funciona con el programa compilado y con un archivo manifest.
Ejemplo que obtiene los procesos abiertos de windows, y crea tres paneles para mostrar : El nombre, el identificador y la ruta.
Ejemplo que utiliza un Grid ( Ms FlexGrid ) para cargar unos registros de una tabla, e imprime alguna información en el status bar
Los datos que muestra son : La cantidad de registros, el ID y en el tercer panel el campo nombre / apellido de la tabla. También incluye otro control para las opciones : Nuevo registro, Eliminar y editar: Simple ToolBar
Este es un Explorer y utiliza dos paneles: Uno para mostrar la cantidad de archivos y carpetas del path actual, y en otro el nombre del fichero o directorio seleccionado
Carga un grid con registros donde un campo es de tipo moneda, y se crea un panel para mostrar el total de la columna, es decir la suma.
Ejemplo que usa el StatusBar en un MDI, y visualiza el nombre de los formularios hijos al activarse la ventana
Dos ejemplos para poder usarlos con otros controles, es decir poder crear la imagen de Skin para la barra de estado usando la propiedad CustomPicture.
Créditos del proyecto:
Referencias:
Para usar el control no se necesita de ninguna referencia o archivo externo.
Para usarlo en un nuevo proyecto, se debe importar el archivo ucStatusBar.ctl desde el menú Proyecto, submenú Agregar control de usuario, y desde la ventana de diálogo seleccionar la pestaña existente . Nota. junto al archivo ucStatusBar.ctl, debe estar también el archivo ucStatusBar.ctx que es el que contiene las imágenes, ya que si no dará error al importar el control a un formulario.
Buscar en Recursos vb con Google
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar