Sección de tutoriales y manuales vb

Control Tabstrip - Referencia

Volver al índice



 

 

- Descripción

Un control TabStrip es como los separadores de un cuaderno o las etiquetas de un grupo de carpetas de archivo.

Mediante este se pueden definir varias páginas para la misma área de una ventana o cuadro de diálogo en su aplicación.

El control consiste en uno o más objetos Tab de una colección Tabs . Tanto en tiempo de diseño como en tiempo de ejecución puede cambiar la apariencia del objeto Tab estableciendo propiedades.

 

 

También puede agregar y quitar fichas  utilizando la Página de propiedades del control TabStrip en tiempo de diseño o bien agregar y quitar objetos Tab en tiempo de ejecución mediante métodos.

Este control no es un contenedor como el sstab . Para contener las páginas reales y sus objetos, debe usar controles Frame u otro tipo de contenedores que coincidan con el tamaño del área interna compartida por todos los objetos Tab del control. Si usa una matriz de controles para el contenedor, puede asociar cada elemento de la matriz con un objeto Tab específico, como en el siguiente ejemplo:

Option Explicit
Private mintCurFrame As Integer ' Marco activo visible

Private Sub Form_Load()
mintCurFrame = TabStrip1.SelectedItem.Index
End Sub

Private Sub Tabstrip1_Click()
   If TabStrip1.SelectedItem.Index = mintCurFrame Then
        Exit Sub ' No necesita cambiar el marco.
   End If
   
   ' Oculte el marco antiguo y muestre el nuevo.
   Frame1(TabStrip1.SelectedItem.Index).Visible = True
   
   Frame1(mintCurFrame).Visible = False
   ' Establece mintCurFrame al nuevo valor.
   mintCurFrame = TabStrip1.SelectedItem.Index

End Sub 

Descargar

 

Nota    Cuando agrupe controles en un contenedor, es mejor usar mostrar u ocultar en vez de usar el método Zorder para traer al frente un marco de objeto. Por otra parte, los controles que tengan asociadas teclas de acceso (ALT + tecla de acceso) aún responderán a los comandos de teclado, aunque el contenedor no sea el control más alto. Observe también que debe separar los grupos de los controles OptionButton para ubicar cada grupo en su propio contenedor, o por el contrario todos los controles OptionButtons del formulario se comportarán como un gran grupo de controles OptionButtons .

Sugerencia    Utilice un control Frame con su BorderStyle establecido a None como el contenedor, en lugar de un control PictureBox . Un control Frame consume menos recursos que un control PictureBox .

Nota para la distribución    El control TabStrip forma parte de un grupo de controles personalizados que se encuentran en el archivo MSCOMCTL.OCX. Para usarlo en su aplicación, debe agregar el archivo MSCOMCTL.OCX al proyecto. Cuando distribuya su aplicación, instale el archivo MSCOMCTL.OCX en el directorio SYSTEM de Microsoft Windows del usuario.

 

Tabs (Colección)

La propiedad Tabs del control TabStrip es la colección de todos los objetos Tab . Cada objeto Tab tiene propiedades asociadas con su estado y apariencia actuales. Por ejemplo, puede asociar un control ImageList con el control TabStrip y después usar imágenes en fichas individuales. También puede asociar una información sobre herramientas con cada objeto Tab .

Una colección Tabs contiene un conjunto de objetos Tab .

Sintaxis

tabstrip . Tabs ( índice )

tabstrip . Tabs . Item ( índice )

La sintaxis de la colección Tabs consta de las siguientes partes:

Parte Descripción
tabstrip Una expresión de objeto que da como resultado un control TabStrip .
índice Un entero o una cadena que identifica de forma única a un miembro de una colección de objetos. El entero es el valor de la propiedad Index del objeto Tab deseado, mientras que la cadena es el valor de la propiedad Key del objeto Tab deseado.

En tiempo de diseño, use los botones Insertar ficha y Quitar ficha de la ficha Fichas de la Página de propiedades para agregar y quitar objetos Tab de la colección Tabs .

La colección Tabs utiliza la propiedad Count para devolver el número de fichas de la colección.

Por ejemplo lo siguiente , añade cuatro tabs en tiempo de ejecución y luego visualiza mediante un MsgBox la cantidad

    Dim i As Integer
    
    TabStrip1.Tabs.Clear

    For i = 1 To 3
        TabStrip1.Tabs.Add , , "Ficha " & i
    Next
    
    MsgBox "Cantidad de tabs : " & TabStrip1.Tabs.Count
             

Para manipular los objetos Tab de la colección Tabs , utilice estos métodos en tiempo de ejecución:

 

Ejemplo de esto último

Descargar

 

El objeto Tab

Un objeto Tab representa una ficha individual de la colección Tabs

 

Comentarios

Para cada objeto Tab puede emplear varias propiedades con el fin de especificar su apariencia y también puede especificar su estado con la propiedad Selected .

Lo siguiente , al presionar un CommandButton, determina si la ficha con indice 2 está seleccionada

    If TabStrip1.Tabs(2).Selected = True Then
       MsgBox "SI Está seleccionada", vbInformation
    Else
       MsgBox "NO Está seleccionada", vbInformation
    End If  

 

Lo siguiente lo que hace es seleccionar una ficha mediante código, usando la propiedad Selected y colocandola en true

En este caso selecciona el tab con indice 4

TabStrip1.Tabs(4).Selected = True

 

En tiempo de diseño, use los botones Insertar ficha y Quitar ficha de la ficha Fichas en la Página de propiedades del control TabStrip para insertar y quitar fichas, y utilice los cuadros de texto para especificar cualquiera de estas propiedades para un objeto Tab : Caption , Image , ToolTipText , Tag , Index o Key . También puede especificar estas propiedades en tiempo de ejecución.

 

Use las propiedades Caption e Image , por separado o juntas, para etiquetar o poner un icono en una ficha.

Por ejemplo lo siguiente, establece en tiempo de ejecución , el caption de la ficha 1

TabStrip1.Tabs(1).Caption = "Un Texto"

 

Esto otro, cambia en tiempo de ejecución , la imagen de la ficha 3 ( La imagen está ubicada en el imagelist )

TabStrip1.Tabs(1).Image = 3

Ejemplo para enlazarlo a un control imageList en tiempo de ejecución

 

Use la propiedad ToolTipText para mostrar temporalmente una cadena de texto en un pequeño cuadro rectangular en tiempo de ejecución cuando el cursor del usuario se posa sobre la ficha.

Para establecer la propiedad ToolTipText en tiempo de diseño, active la casilla de verificación ShowTips en la ficha General y después escriba la cadena de información sobre herramientas en el cuadro de texto ToolTipText .

Para devolver una referencia a un objeto Tab que un usuario ha seleccionado, use la propiedad SelectedItem ; para determinar si una ficha específica se ha seleccionado, use la propiedad Selected . Estas propiedades son útiles junto con el evento BeforeClick para comprobar o grabar datos asociados con la ficha seleccionada actualmente antes de mostrar la siguiente ficha seleccionada por el usuario.

Cada objeto Tab también tiene propiedades de sólo lectura que puede usar para hacer referencia a un único objeto Tab de la colección Tabs : Left , Top , Height y Width .

 

Add (Método, colección Tabs)

Agrega un objeto Tab a una colección Tabs en un control TabStrip .

Sintaxis

objeto. Add( índice, clave, título, imagen )

La sintaxis del método Add consta de las siguientes partes:

Parte Descripción
objeto Una expresión de objeto que da como resultado una colección Tabs .
índice Opcional. Un entero que especifica la posición en la que desea insertar el objeto Tab . Si no especifica ningún índice, el objeto Tab se agrega al final de la colección Tabs .
clave Opcional. Una cadena única que identifica al objeto Tab . Utilice la clave para recuperar una ficha específica. Es equivalente a establecer la propiedad Key del nuevo objeto Tab después de haberlo agregado a la colección Tabs .
título Opcional. La cadena que aparece en el objeto Tab . Es equivalente a establecer la propiedad Caption del nuevo objeto Tab después de haberlo agregado a la colección Tabs .
imagen Opcional. El índice de una imagen en un control ImageList asociado. Esta imagen se muestra en la ficha. Es equivalente a establecer la propiedad Image del nuevo objeto Tab después de haberlo agregado a la colección Tabs .

Comentarios

Para agregar fichas en tiempo de diseño , haga clic en el botón Insertar ficha de la ficha Fichas de la Página de propiedades del control TabStrip y complete los campos apropiados para la nueva ficha.

Para agregar fichas en tiempo de ejecución , utilice el método Add , que devuelve una referencia al objeto Tab recién insertado. Por ejemplo, el siguiente código agrega una ficha con el título "Hola" y cuya clave es "MiFicha", como la segunda ficha (su índice es 2).

Set X = TabStrip1.Tabs.Add(2,"MiFicha","Hola")

 

Ejemplo del método Add (Colección Tabs)

Este ejemplo agrega tres objetos Tab , cada uno con títulos e imágenes de un control ImageList , a un control TabStrip . Para probar este ejemplo, ponga un control ImageList y un control TabStrip en un formulario. El control ImageList proporciona las imágenes para los objetos Tab . Pegue el siguiente código en el evento Load del objeto Form y ejecute el programa.

Private Sub Form_Load()
   Dim X As Integer
   Set TabStrip1.ImageList = ImageList1
   TabStrip1.Tabs(1).Caption = "Hora"
   TabStrip1.Tabs.Add 2, , "Fecha"
   TabStrip1.Tabs.Add 3, , "Correo"
   For X = 1 To TabStrip1.Tabs.Count
      TabStrip1.Tabs(X).Image = X
   Next X
End Sub 

 


 

Propiedades

Propiedad MultiRow

Devuelve o establece un valor que indica si un control TabStrip puede mostrar más de una fila de fichas.

 

El número de filas se establece automáticamente según el ancho y el número de fichas. El número de filas puede cambiar si el control cambia de tamaño, lo que asegura que la ficha se ajusta a la siguiente fila. Si MultiRow es False y la última ficha excede el ancho del control, se agregará un control numérico horizontal en el extremo derecho

 

En tiempo de diseño , sitúe la propiedad MultiRow en la ficha General de la Página de propiedades . En tiempo de ejecución , use código como el siguiente para establecer la propiedad MultiRow :

' Permite más de una fila de fichas en el control TabStrip. TabStrip1.MultiRow = TRUE

 

 

Propiedades - TabFixedHeight, TabFixedWidth

Devuelven o establecen el alto y el ancho fijo de todos los objetos Tab , pero sólo si la propiedad TabWidthStyle está establecida a tabFixed .

La propiedad TabFixedHeight se aplica a todos los objetos Tab del control TabStrip . Se establece de manera determinada como el alto de la fuente, como queda especificado en la propiedad Font, o el alto del objeto ListImage especificado por la propiedad Image, lo que sea mayor, mas unos pocos píxeles extra que hacen de borde. Si la propiedad TabWidthStyle está establecida a tabFixed y el valor de la propiedad TabFixedWidth está establecido, el ancho de cada objeto Tab sigue siendo igual tanto si se agregan como si se eliminan objetos Tab en el control.

 

Propiedad TabWidthStyle

Propiedad que Devuelve o establece un valor que determina la justificación o ancho de todos los objetos Tab

Los valores válidos para TabWidthStyle son

Ejemplo para establecer la propiedad en tiempo de ejecución:

' Justifica todas las fichas de una fila para ajustarlas ' al ancho del control.
TabStrip1.MultiRow = True
TabStrip1.TabWidthStyle = tabJustified

' Crea filas de fichas desiguales.
TabStrip1.MultiRow = True
TabStrip1.TabWidthStyle = tabNonJustified

' Establece el mismo ancho para todas las fichas.
TabStrip1.TabFixedWidth = 500
TabStrip1.TabWidthStyle = tabFixed  

 

Propiedad Style

Devuelve o establece la apariencia, fichas o botones, de un control TabStrip .

Sintaxis

objeto. Style [ = valor ]

La propiedad Style determina si el control tiene la apariencia de un botón de comando (Buttons) o de un separador de carpeta (Tabs). En tiempo de diseño, cuando pone un control TabStrip en un formulario, tiene un separador de carpeta. Si elige el valor tabTabs para la propiedad Style , habrá un borde alrededor del área interna del control TabStrip . Aunque el valor tabButtons de la propiedad Style no muestra ningún borde alrededor del área interna, esa área existe.

 

La sintaxis de la propiedad Style consta de las siguiente partes:

Los valores válidos para valor son:

 

 

Para cambiar en tiempo de diseño la propiedad Style, hacerlo desde la página de propiedades, y en tiempo de ejecución por ejemplo

' Propiedad Style establecida a Tabs.
TabStrip1.Style = tabTabs

' Propiedad Style establecida a Buttons.
TabStrip1.Style = tabButtons  

 

Propiedad Separators

Devuelve o establece un valor que determina si se dibujan separadores entre los botones de un control TabStrip que tenga los estilos tabButton o tabFlatButton .

 

Sintaxis

objeto . Separators [ = booleano ]

 

Importante : Para mostrar los separadores, la propiedad Style debe tener el valor tabButton o tabFlatButton .

 


Eventos principales

BeforeClick (Evento)

Se genera cuando se hace clic en un objeto Tab de un control TabStrip o cuando el valor Selected de un objeto Tab ha cambiado.

Sintaxis

Private Sub objeto _BeforeClick( Cancel As Integer)

La sintaxis del evento BeforeClick consta de las siguientes partes:

Comentarios

Use el evento BeforeClick para validar la información del objeto Tab antiguo antes de generar realmente un evento Click que seleccione el nuevo objeto Tab . Establecer el argumento cancel a True le permite detener un cambio a la nueva selección.

Nota    Establecer el argumento cancel a True evita que el enfoque cambie a otra ficha pero no detendrá el evento Click.

Nota    Si usa las funciones MsgBox o InputBox durante el procedimiento de evento BeforeClick, el control TabStrip no recibirá un evento Click, cualquiera que sea el valor del argumento cancel.

Ejemplo

Este ejemplo usa el evento BeforeClick para demostrar cómo evitar que un usuario cambie a otra ficha. Esto es útil cuando desea comprobar información en la ficha actual antes de mostrar la ficha recién seleccionada.

Para probar este ejemplo, ponga un control TabStrip y una matriz de controles Frame de dos elementos en el formulario (establezca la propiedad BorderStyle a None ). En el primer control Frame , agregue un control CheckBox y en el segundo, agregue un TextBox . Pegue el siguiente código en el evento Load del objeto Form y ejecute el programa. Haga clic en la ficha titulada Texto después de activar o desactivar el CheckBox en la ficha titulada Casilla.

Private Sub Form_Load()
Dim i As Integer
Dim Tabx As Object
' Establece el título de la primera ficha como "Casilla"
TabStrip1.Tabs(1).Caption = "Casilla"
' Agrega una segunda ficha con "Texto" como título.
Set Tabx = TabStrip1.Tabs.Add(2, , "Texto")
' Etiqueta la casilla de verificación.
Check1.Caption = "Cancelar cambio de ficha"
   ' Alinea los marcos con el área interna
   ' del control Tabstrip.
   For i = 0 To 1
      Frame1(i).Left = TabStrip1.ClientLeft
      Frame1(i).Top = TabStrip1.ClientTop
      Frame1(i).Height = TabStrip1.ClientHeight
      Frame1(i).Width = TabStrip1.ClientWidth
   Next
   ' Pone arriba el contenedor de marco 
   ' de la primera ficha.
   Frame1(0).ZOrder 0
End Sub

' El evento BeforeClick comprueba el valor de la casilla
' de verificación para determinar si se continúa con el 
' evento Click.
Private Sub TabStrip1_BeforeClick(Cancel As Integer)
   If TabStrip1.Tabs(1).Selected Then
      If Check1.Value = 1 Then Cancel = True
   End If
End Sub

Private Sub TabStrip1_Click()
   Frame1(TabStrip1.SelectedItem.Index-1).ZOrder 0
End Sub 

 

Evento Click

evento que se desencadena al hacer clic en un objeto Tab o al cambiar la propiedad Value de la ficha. Se usa para comprobar parámetros antes de que se genere el evento Click.

Por ejemplo lo siguiente , al hacer click en un tab, muestra el captio de la ficha seleccionada

Private Sub TabStrip1_Click()
    MsgBox TabStrip1.SelectedItem.Caption
End Sub

 


vb 6.0 - Enlaces relacionados

 


Volver al índice

 

 


Buscar en Recursos vb