Está en la página 1de 12

1 - Descripción del control

El Control Tabbed Dialog, también denominado SStab, que es muy similar al que nos presenta el
cuadro de diálogo de propiedades de pantalla de windows cuando presionamos el botón derecho
en el escritorio, consta de una interface con "pestañas", en la que cada una de ellas nos sirve
para mostrar una opción determinada.

Cada pestaña puede contener sus propios controles y es una buena opción para presentar
interfaces de una forma organizada. Cada pestaña actúa como contenedor de los controles que
insertamos

Para incorporarlo a un proyecto lo debemos agregar o añadir bajo el nombre de Microsoft


Tabbed Dialog control 6.0 desde la opción agregar componentes del menú de Visual Basic
como muestra el siguiente gráfico:

Ventana de componentes de Visual basic


Una ves añadido el control , se visualizará con el siguiente ícono:

2 - Página de propiedades
Para acceder a las propiedades mas importantes del SStab , podemos utilizar el cuadro de diálogo
"Custom" o personalizado, desde la ventana de propiedades de visual basic.
O también para acceder a dicha ventana podemos seleccionar el Tabbed Dialog y con el botón
derecho elegir la opción Propiedades

En cada pestaña del control podemos colocar controles y estos funcionarán de manera normal,
como lo hacen siempre, y al colocarlos en cada pestaña estarán contenidos dentro de estas.

Para insertar un control dentro de una pestaña solo hay que dibujarlo dentro y ya quedará
contenido, de igual manera a como se hace en un control PictureBox por ejemplo.

Apenas insertamos el TabbedDialog en el formulario, este presenta 3 pestañas por defecto.

Para agregar o especificar la cantidad de Tabs que queremos utilizar para el , se puede hacer
desde el cuadro de diálogo "Custom" en la opción "contador" como está en la imagen:

También se puede especificar las pestañas a utilizar, desde la ventana de propiedades de Visual
Basic en la propiedad "Tabs" indicando un valor numérico para el mismo.

importanete: Si nosotros hemos agregado pestañas al control y le hemos insertado controles a


alguna de ellas y luego queremos eliminar alguna pestaña, hay que anteriormente retirar los
controles de las pestañas o eliminarlos, ya que si están contenidos no lo permite.
3 - Propiedad Orientation y Style

Estas son dos propiedades importantes referidas al aspecto gráfico del Tabbed Dialog y a su
disposición.

Propiedad Style

Esta puede tener 2 valores, ssStylePropertyPage o ssStyleTabbedDialog

Una vista de estas 2 propiedades:

La propiedad Orientation

Establece la orientación y disposición de las pestañas en el control, es decir la alineación.

Los valores que puede tener son ssTabOrientationTop (pestañas arriba), ssTabOrientationLeft
(Izquierda), ssTabOrientationRight (derecha) y ssTabOrientationBottom (abajo)

Una vista de estas de estas cuatro opciones:


Nota: Para poder utilizar las pestañas con la propiedad Orientation en ssTabOrientationLeft y
ssTabOrientationRight, el tipo de fuente que debe tener configurado el TabbedDialog debe ser
una fuente de tipo TrueType, de lo contrario se visualizará de forma incorrecta.

4 - Otras propiedades del Tabbed Dialog

TabsPerRow
Devuelve o establece el número de fichas de cada fila de un control SSTab.

Puede usar esta propiedad junto con la propiedad Tabs en tiempo de diseño para determinar el
número de filas que aparecen en el control. En tiempo de ejecución, utilice la propiedad Rows.

TabHeight
Devuelve o establece el alto de todas las fichas de un control SSTab.
TabMaxWidth
Devuelve o establece el ancho máximo de cada ficha

Nota : Cuando el valor de la propiedad Style es ssStyleTabbedDialog y el de TabMaxWidth es


cero (0), el control SSTab ajusta automáticamente el tamaño de las fichas, según el valor de la
propiedad TabsPerRow, para ajustarlas por igual al control.

Si selecciona el valor ssStylePropertyPage en la propiedad Style, se pasará por alto la propiedad


TabMaxWidth. En este caso, el ancho de cada ficha se ajusta automáticamente a la longitud del
texto de la propiedad TabCaption.

WordWrap
Devuelve o establece un valor que indica si el texto de cada ficha continúa en la línea siguiente
cuando es demasiado largo y no cabe horizontalmente en una ficha de un control tabbed dialog.

Comentarios

Puede usar la propiedad WordWrap para determinar la forma en que el control SSTab muestra el
texto en cada ficha. Por ejemplo, en un cuadro de diálogo con fichas que se modifica
dinámicamente, el texto también puede cambiar. Para asegurarse de que no se truncará si es
demasiado largo, establezca la propiedad WordWrap a True, la propiedad TabMaxWidth a cero
(0) y la propiedad TabHeight a un alto que permita ver el texto más largo posible.

ShowFocusRect:
Establece mediante True o False si se dibuja un recuadro punteado en el tab cuando este tiene el
foco

Picture
establece un gráfico para los Tabs

Comentarios

En tiempo de diseño puede establecer la propiedad Picture de una ficha si hace clic en ella y
después establece la propiedad en la ventana Propiedades. En tiempo de ejecución puede
establecer la propiedad Picture con la función LoadPicture o con la propiedad Picture de otro
control o de otro objeto Form. Puede convertir cualquier ficha en la ficha activa si establece la
propiedad Tab.

Al establecer la propiedad Picture en tiempo de diseño, el gráfico se guarda y se carga con el


objeto Form que contiene el control SSTab. Si crea unarchivo ejecutable, el archivo contendrá la
imagen. Al cargar un gráfico en tiempo de ejecución, el gráfico no se guarda con laaplicación.

Establecer la propiedad Picture afecta al valor de la propiedad TabPicture de la ficha actual y


además aparece la imagen correspondiente en la ficha activa.

Ejemplo

Private Sub Command1_Click()


SSTab1.Picture = LoadPicture("ruta de la imagen ")
End Sub

TabCaption:
Comentarios

En tiempo de diseño, puede establecer la propiedad TabCaption si hace clic en una ficha y
establece la propiedad Caption en la ventana Propiedades. También puede seleccionar (Custom)
en la ventana Propiedades y establecer la propiedad TabCaption en la ficha General del cuadro
de diálogo Propiedades.

En tiempo de ejecución puede leer o cambiar el título de cualquier ficha mediante la propiedad
TabCaption. También puede usar la propiedad Caption para cambiar la propiedad TabCaption
sólo para la ficha activa.

Puede usar la propiedad TabCaption para asignar a una ficha unatecla de acceso. En el valor de
TabCaption, incluya el símbolo & inmediatamente antes del carácter que desea designar como
tecla de acceso. Ese carácter aparecerá subrayado. Presione la tecla ALT y el carácter de
subrayado para que la ficha pase a ser la ficha activa. Para incluir un símbolo & en el título sin
crear una tecla de acceso, escriba dos símbolos seguidos (&&). En el título sólo aparecerá uno y
no habrá ningún carácter subrayado.

Tab
Comentarios
La ficha actual se coloca en primer plano y pasa a ser la ficha activa.

Normalmente, el usuario de la aplicación hará clic en una ficha para convertirla en la ficha
activa. Sin embargo, puede que tenga que seleccionarla en el código. Por ejemplo, puede que
desee que cierta ficha sea la activa cada vez que se muestre un cuadro de diálogo determinado en
la aplicación. Si abandona el cuadro de diálogo mediante el método Hide del objeto Form, la
última ficha que estaba activa al ocultar el Form seguirá siendo la ficha activa cuando aparezca
de nuevo el cuadro de diálogo. Puede establecer la propiedad Tab del control SSTab para que
esté activa la misma ficha cada vez que aparezca el cuadro de diálogo.

Ejemplo

Este ejemplo hace que la ficha activa sea siempre la primera ficha del control SSTab justo antes
de mostrar el formulario que contiene el control. Para probar este ejemplo, cree dos objetos
Form. Coloque un control CommandButton en el Form1 y un control SSTab en el Form2. Pegue
el código en el evento Click del control CommandButton del Form1 y después ejecute el
ejemplo.

Private Sub Command1_Click()


Form2.SSTab1.Tab = 1
Form2.Show
End Sub

Rows
Devuelve el número de filas de fichas

Comentarios

El número de filas del control SSTab se especifica en tiempo de diseño mediante las propiedades
Tabs y TabsPerRow.

TabEnabled
Determina si el Tab especificado está habilitado o deshabilitado

Comentarios

Cuando una ficha está desactivada, su texto aparece atenuado y el usuario no puede
seleccionarla.
La propiedad TabEnabled activa o desactiva una única ficha. Para activar o desactivar todo el
control SSTab, utilice la propiedad Enabled.

TabVisible:
Determina si el Tab especificado estará visible o no

Comentarios

La propiedad TabVisible muestra u oculta una única ficha. Puede usar la propiedad Visible para
mostrar u ocultar todo el control SSTab.

5 - Establecer un gráfico a un tab


Para establecerle un gráfico a un Tab, solo hay que seleccionar la pestaña que queremos y desde
la ventana de propiedades seleccionar Picture y elegir el archivo gráfico.

Si quisiéremos hacerlo en tiempo de ejecución, podríamos hacerlo de esta forma refiriendonos a


la propiedad TabPicture:

Private Sub Command1_Click()


'Le pasamos a la propiedad tabPicture el índice del tab.
El_SSTab.TabPicture(0) = LoadPicture(App.Path & "\imagen.ico")
End Sub

Nota: también podríamos establecer gráficos a cada Tab en tiempo de ejecución que están
cargados en un control ImageList.

6 - Ejemplo para establecer en tiempo de ejecución el


Caption de un Tab
Aquí cuando se presiona un Command1 se le establece el texto "Datos" al primer Tab, es decir el
tab que tiene el índice número 0.

Private Sub Command1_Click()

'Le pasamos a la propiedad TabCaption el índice del tab y le asignamos un texto


SSTab1.TabCaption(0) = "Datos"

End Sub

7 - Agregar Tabs o pestañas en tiempo de ejecución


Agregar un Tabbed Dialog llamado SSTab1, Colocar un Command1 y un Text1 en el formulario.

Luego cada ves que presiones el Command1, se agregará un nuevo Tab en tiempo de ejecución
con el texto que se haya ingresado en el control Text1

Código fuente en el formulario

Private Sub Command1_Click()


Call Agregar(Text1)
End Sub

Private Sub Agregar(Texto_Tab As String)

SSTab1.Tabs = SSTab1.Tabs + 1

SSTab1.TabCaption(SSTab1.Tabs - 1) = Texto_Tab

End Sub

Private Sub Form_Load()

SSTab1.Tabs = 1

End Sub

8 - Eventos del Sstab


 Click: Ocurre cuando el usuario presiona y suelta un botón del mouse sobre el control
 DblClick: Ocurre al presionar y soltar un botón del mouse, y volver a presionarlo y
soltarlo sobre el control
 GotFocus: Ocurre cuando el mismo recibe el enfoque
 LostFocus: Ocurre cuando el control pierde el enfoque
 MouseDown: Ocurre cuando el usuario presiona el botón del mouse mientras el control
tiene el enfoque
 MouseMove: Se ejecuta cuando se mueve el mouse sobre el Sstab
 MouseUp: Se ejcuta al soltar el botón del mouse cuando tiene el enfoque
 Validate: Ocurre cuando el control pierde el enfoque en favor de un control que produce
una validación, en este caso del Sstab

Como se ve en la descripción anterior, este no posee ningún evento propio, es decir tiene los
eventos comunes que poseen la mayoría de los controles

Lo único que difiere, es el evento Click, en el cual posee un parámetro extra llamado
PreviousTab

Private Sub SSTab1_Click(PreviousTab As Integer)

End Sub

Al hacer Click en el control, este parámetro nos devuelve el Tab anterior al cual se hizo click.

El siguiente ejemplo obtiene el Caption del Tab en el cual se hizo click ( Tab Activo ), y lo
visualiza en la barra de título del formulario:

Private Sub SSTab1_Click(PreviousTab As Integer)

'Visualiza en la barra de título del form el caption _


del Tab activo

Me.Caption = SSTab1.TabCaption(SSTab1.Tab)
End Sub

9 - Propiedad Container
El siguiente ejemplo, coloca en tiempo de ejecución, un control TextBox que se encuentra fuera
del control SSTab, y lo hace en la ficha activa del mismo, utilizando la propiedad Container del
textBox:

Private Sub Command1_Click()

' Coloca el Text1 en el tab activo


Set Text1.Container = SSTab1

' Redimensiona el control Text1 y lo posiciona


Text1.Move 50, SSTab1.TabHeight + 100, _
SSTab1.Width - 100, _
SSTab1.Height - SSTab1.TabHeight - 200

End Sub

10 - Redimensionar el SSTab en el Resize del Formulario

Este ejemplo, cuando se cambia de tamaño el Form, redimensiona y posiciona el control Tabbed
dialog al ancho y alto que tenga el Form. También se redimensiona un control TextBox que se
encuentra dentro de uno de los Tabs

Colocar un sstab y un Textbox dentro de un Tab

Private Sub Form_Resize()

' Posiciona y redimensiona el Sstab al ancho y alto del Fomulario


SSTab1.Move 10, 10, ScaleWidth - 10, ScaleHeight - 10

' Posiciona y redimensiona el TextBox


Text1.Move 50, SSTab1.TabHeight + 100, _
SSTab1.Width - 100, _
SSTab1.Height - SSTab1.TabHeight - 200

End Sub

También podría gustarte