Академический Документы
Профессиональный Документы
Культура Документы
- Descripcin
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 pginas para la misma rea de una ventana o
cuadro de dilogo en su aplicacin.
El control consiste en uno o ms objetos Tab de una coleccin Tabs . Tanto en tiempo
de diseo como en tiempo de ejecucin puede cambiar la apariencia del objeto Tab
estableciendo propiedades.
Tambin puede agregar y quitar fichas utilizando la Pgina de propiedades del control
TabStrip en tiempo de diseo o bien agregar y quitar objetos Tab en tiempo de
ejecucin mediante mtodos.
Este control no es un contenedor como el sstab . Para contener las pginas reales y
sus objetos, debe usar controles Frame u otro tipo de contenedores que coincidan con
el tamao 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 especfico, 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
Tabs (Coleccin)
La propiedad Tabs del control TabStrip es la coleccin 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 despus usar
imgenes en fichas individuales. Tambin puede asociar una informacin sobre
herramientas con cada objeto Tab .
Una coleccin Tabs contiene un conjunto de objetos Tab .
Sintaxis
tabstrip . Tabs ( ndice )
tabstrip . Tabs . Item ( ndice )
La sintaxis de la coleccin Tabs consta de las siguientes partes:
Parte
tabstrip
ndice
En tiempo de diseo, use los botones Insertar ficha y Quitar ficha de la ficha Fichas
de la Pgina de propiedades para agregar y quitar objetos Tab de la coleccin Tabs .
La coleccin Tabs utiliza la propiedad Count para devolver el nmero de fichas de la
coleccin.
Por ejemplo lo siguiente , aade cuatro tabs en tiempo de ejecucin 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
Para manipular los objetos Tab de la coleccin Tabs , utilice estos mtodos en tiempo
de ejecucin:
El objeto Tab
Un objeto Tab representa una ficha individual de la coleccin Tabs
Comentarios
Para cada objeto Tab puede emplear varias propiedades con el fin de especificar su
apariencia y tambin puede especificar su estado con la propiedad Selected .
Lo siguiente , al presionar un CommandButton, determina si la ficha con indice 2 est
seleccionada
Lo siguiente lo que hace es seleccionar una ficha mediante cdigo, 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 diseo, use los botones Insertar ficha y Quitar ficha de la ficha Fichas
en la Pgina 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 . Tambin puede
especificar estas propiedades en tiempo de ejecucin.
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 ejecucin , el caption de la ficha 1
TabStrip1.Tabs(1).Image = 3
Ejemplo para enlazarlo a un control imageList en tiempo de ejecucin
Parte
objeto
ndice
clave
ttulo
imagen
Comentarios
Para agregar fichas en tiempo de diseo , haga clic en el botn Insertar ficha de la
ficha Fichas de la Pgina de propiedades del control TabStrip y complete los campos
apropiados para la nueva ficha.
Para agregar fichas en tiempo de ejecucin , utilice el mtodo Add , que devuelve una
referencia al objeto Tab recin insertado. Por ejemplo, el siguiente cdigo agrega una
ficha con el ttulo "Hola" y cuya clave es "MiFicha", como la segunda ficha (su ndice es
2).
Set X = TabStrip1.Tabs.Add(2,"MiFicha","Hola")
Propiedades
Propiedad MultiRow
Devuelve o establece un valor que indica si un control TabStrip puede mostrar ms de
una fila de fichas.
de
fichas
en
el
control
TabStrip.
Propiedad TabWidthStyle
Propiedad que Devuelve o establece un valor que determina la justificacin o ancho de
todos los objetos Tab
Los valores vlidos para TabWidthStyle son
tabJustified
(Predeterminado)
Justificado.
Si
la
propiedad
' 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 botn de comando
(Buttons) o de un separador de carpeta (Tabs). En tiempo de diseo, 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
ningn borde alrededor del rea interna, esa rea existe.
de
cuadernos
tridimensional alrededor.
el
rea
interna
tiene
un
borde
Propiedad Separators
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 informacin 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 seleccin.
Nota
Establecer el argumento cancel a True evita que el enfoque cambie a otra
ficha pero no detendr el evento Click.
Ejemplo
Este ejemplo usa el evento BeforeClick para demostrar cmo evitar que un usuario
cambie a otra ficha. Esto es til cuando desea comprobar informacin en la ficha actual
antes de mostrar la ficha recin 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 cdigo en el evento Load del objeto Form y ejecute el
programa. Haga clic en la ficha titulada Texto despus de activar o desactivar el
CheckBox en la ficha titulada Casilla.
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 parmetros 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
Xtabs - Usercontrol
Con el TabStrip
Relacionados
Dll vbalMDITabs.dll
Dll para usar Mdi con fichas o tabs y un ejemplo para hacerlo mediante un TabStrip
Este componente activex creado por VbAccelerator , permite utilizar aplicaciones con
interfaces MDI y los formularios hijos cargarlos mediante fichas o tabs
Para poder iniciar el componente , y que los formularios child se carguen, se debe en el
Form Load del Mdi , usar el mtodo Attach, y luego cargar los formularios si se desea
Por ejemplo :
Nota: es necesario ejecutar el mtodo ForceRefresh para que los tabs se visualicen
correctamente cada ves que se cargue un form
Importante : Los formularios hijos , deben tener las siguientes propiedades para que
los Tabs se visualicen correctamente con los formularios maximizados
1.
2.
3.
4.
Eventos
La dll Tiene tres eventos principales ( Declararla siempre con WithEvents )
1.
2.
3.
Nota : Todos estos eventos, tienen como principal parmetro el Hwnd del formulario
en el cual se est interactuando. Por eso para poder manipular el form a partir del
Hwnd, hay una simple funcin de ajuste ( que en el ejemplo se llama " formForHwnd
" ) que devuelve un objeto Form , es decir una referencia a ese Formulario.
Luego de haber iniciado esta clase, para cargar los formularios se debe crear una
instancia para cada form , por ejemplo si voy a cargar tres mdi child llamados Form1,
Form2 y Form3 primero se declaran las tres variables en la zona de declaraciones del
Mdi , o en la zona de declaraciones del propio form:
Option
Dim
ObjForm1
Dim
ObjForm2
Dim ObjForm3 As New clsFicha
As
As
New
New
Explict
clsFicha
clsFicha
Luego se ejecuta el mtodo CargarForm, que tiene tres parmetros .El primero es el
nombre del formulario , el segundo es la instancia de la clase Mdi , y el tercero es un
valor opcional para la imagen que debe estar cargada en un control ImageList.
ObjForm1.CargarForm(frm1,
ObjMdi,
ObjForm2.CargarForm(Frm2,
ObjMdi,
ObjForm3.CargarForm(Frm2, ObjMdi, "icono3")
"icono1")
"icono2")
Vista previa del ejemplo usando la versin del tabstrip que viene con el
Windows Common controls 5.0 :
Nota: si se usa esta versin , a mi me di error al cambiar en tiempo de ejecucin la
propiedad Style y las fichas no se repintan bien, inclusive forzando con la propiedad
Refresh . Adems, en esta versin no cuenta con la propiedad FlatTabs, solo con Tabs y
ButtonTabs y algunas propiedades menos que la vesin 6.0
El style en TabButtons
Nota : el ejemplo lo prob mientras lo hice, pero no lo llegu a probar a fondo, por lo
tanto no aseguro que est completamente libre de errores, adems por supuesto se
puede optimizar mucho el cdigo.
Otra cosa importante, cuando se descarga un formulario, y luego se quiere volver a
cargarlo, se debe volver a realizar como se explic antes, es decir con el mtodo
Cargarform, y NO con el Show del Formulario.
Adems asegurarse que los forms a usar como Child deben tener la propiedad MdiChild
en True.