Beruflich Dokumente
Kultur Dokumente
Como bien dice el título, el control StatusBar permite incluir en nuestros proyectos,
barras de estado.
Como verás los controles de barra de estado, están divididos y formados por paneles.
La función de estos paneles es mostrar algún tipo de información. En el ejemplo se
visualiza en el primer panel la hora del sistema, en el segundo la fecha y en el tercero si
la tecla Num Lock del pad del teclado está activado o desactivado.
Esto es a modo de muestra, ya que en los paneles podemos insertar cualquier tipo de
información relacionada a nuestros programas, como por ejemplo si tenemos un
programa de base de datos, mostrar en un panel el nombre del usuario que está
utilizando la aplicación, o suponiendo que nuestro programa es un navegador web
podemos visualizar en un panel la url que está cargada etc.... La información a mostrar
depende del tipo de programa que estemos realizando y la información que podamos
llegar a querer mostrar.
2 - ventana Custom
Como la mayoría de estos controles, la configuración de los mismos se puede realizar
desde la opción Custom que la accedés desde la ventana de propiedades de Visual
Basic en tiempo de diseño y obviamente también en tiempo de ejecución se puede
manipular por completo este control.
La ventana Custom del StatusBar tiene cuatro solapas que son: General, Paneles,
Fuente e Imagen .
Solapa General:
La opción Style, que es una propiedad, podemos configurar el estilo del StatusBar, tiene
2 valores: sbrNormal y sbrSimple.
Para poder visualizar los paneles que agreguemos al control, la propiedad Style debe
estar en sbrNormal.
Las otras 2 propiedades que vemos son Enabled y ShowTips. Enabled determina si el
control Statusbar está habilitado o deshabilitado. ShowTips si está chequeado o en True
mostrará los ToolTipText que tengan los paneles.
4 - Propiedad Style
Los valores de Style que puede tener cada uno de los paneles son:
• sbrText
• sbrCaps
• sbrNums
• sbrIns
• sbrScrl
• sbrTime
• sbrDate
• sbrKana
Si especificamos el estilo sbrText para un panel, el mismo mostrará el valor que tenga
la propiedad Text de ese panel.
sbrDate la fecha.
5 - La propiedad Bevel
Esta propiedad de cada panel está relacionada con el aspecto gráfico y visualización, los
valores son: sbrNoBevel, sbrInset y sbrRaised, como está en la imagen
respectivamente:
6 - La propiedad Alignment
Esta propiedad es para alinear el contenido de cada panel y puede ser a la izquierda, en
el centro o la derecha.
7 - Propiedad Picture
Desde la opción Picture podemos incluirle una imagen asociada a un panel:
Para incluir la imagen en dicho panel solo hay que seleccionar el panel que queremos
mediante las flechas, y luego darle al botón examinar.
De esta forma estaríamos haciéndolo en tiempo de diseño. La otra forma de incluirle las
imágenes a un panel sería hacerlo en tiempo de ejecución, por ejemplo utilizando
imágenes y gráficos almacenados en un control ImageList o leyéndolos de disco. Mas
adelante se ve un ejemplo de como hacer esto.
8 - Propiedad Key
Esta propiedad es un valor de texto o String, y es una clave única para cada panel, de
este modo se puede referenciar a dicho panel en tiempo de ejecución para utilizar sus
propiedades y métodos entre otras cosas. También podemos utilizar la propiedad Index
de cada Panel para referirnos a uno de ellos.
El método Add está dentro del objeto Panels. Los parámetros del método Add son:
Bueno los parámetros ya se se explicaron anteriormente para que funcionan, por eso
saltemos a un ejemplo de como agregar 3 paneles en tiempo de ejecución.
Coloca un StatusBar1 en el formulario. Por defecto Visual Basic te añade un Panel.
Desde la ventana Custom elimina ese panel.
With StatusBar1
'Agregamos el Panel1 y mostramos la hora con sbrTime (propiedad style)
.Panels.Add , "Hora", , sbrTime
End With
Como vemos en este caso en el primer parámetro del método Add que es Index, no le
estamos especificando nada, lo estamos dejando vacío, por lo tanto este es opcional. Al
no indicar un índice para el panel este se agregará al final, es decir si tengo 3 paneles y
agrego otro mas sin especificar un index, este que agregaría sería el Index 4.
A los 3 paneles le indicamos una clave única (Key) para poder identificarlos, la clave
tiene que ser algo relacionado con el contenido del mismo para que sea mas fácil poder
luego referenciar a dicho panel. En el primero le colocamos "Hora", en el segundo
"Fecha" y en el tercero "Impresion".
Importante. Si observas bien la imagen anterior, el texto del tercer panel, no visualiza
todo el texto "Imprimiendo trabajo ....", y lo corta. Para que el texto de un panel se
ajuste al contenido y poder visualizarlo entero, debemos utilizar la propiedad
AutoSize.
StatusBar1.Panels("LaclaveDelPanel").AutoSize = sbrSpring
StatusBar1.Panels("LaclaveDelPanel").AutoSize = sbrNoAutoSize
StatusBar1.Panels("LaclaveDelPanel").AutoSize = sbrSpring
en el caso anterior también podríamos pasar el Index para referirnos a dicho panel, pero
usando la clave (el Key) es mas práctico y puede evitar errores en tiempo de
ejecución a referirnos a un índice que no existe dentro de la colección Panels.
Clear elimina todos los paneles del la barra de estado y no tiene parámetros. Para usar
este método sería así:
StatusBar1.Panels.Remove (2)
También podemos eliminar un panel con Remove utilizando la clave en ves del índice
del mismo. Este ejemplo agrega 3 paneles y al presionar un command1 se elimina el
Panel 1 que tiene la clave llamada "Clave 1"
With StatusBar1
'Agregamos el Panel 1 con nombre de clave: "clave 1"
.Panels.Add , "Clave 1", "Panel1", sbrText
End With
End Sub
El siguiente ejemplo recorre mediante un For todos los paneles que tenga un StatusBar,
utilizando la propiedad Count, es decir desde el 1 hasta el valor StatusBar.Panels.Count
Next
End Sub
12 - Acceder a las Propiedades de los paneles en tiempo
de ejecución
Cuando nos referimos al objeto panel y al indice del mismo, al presionar el punto, visual
basic despliega las propiedades que podemos acceder para un panel:
...desde esta manera podemos acceder para recuperar dichos valores de propiedades de
cada panel o para modificarlos. Las propiedades ya se explicaron al comienzo, en la
parte donde se describía la ventana Custom que permite hacer esto en tiempo de diseño
Para hacer un ejemplo con estos cuatro eventos, coloca un StatusBar con algunos
paneles y algún texto o lo que quieras y pegar este código:
'Click
Private Sub StatusBar1_Click()
MsgBox "Hiciste click en el StatusBar"
End Sub
'DblClick
Private Sub StatusBar1_DblClick()
MsgBox "Hiciste click en el StatusBar"
End Sub
'PanelClick
Private Sub StatusBar1_PanelClick(ByVal Panel As MSComctlLib.Panel)
MsgBox "Hiciste click en el panel " & Panel.Index
End Sub
'PanelDblClick
Private Sub StatusBar1_PanelDblClick(ByVal Panel As MSComctlLib.Panel)
MsgBox "Hiciste Doble click en el panel " & Panel.Index
End Sub
...de esta manera podés consultar los valores del panel en cuestión, como también
modificarlos
http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-statusbar.htm