Suscribete

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Tuesday, June 16, 2015

EJEMPLOS PRACTICO DE COMO UTILIZAR ESTE CONTROL



Controles Estándar Adicionales
y Procedimientos
Control Marco (Frame) 
Este control permite agrupar otros controles para darle mayor funcionalidad a la interfaz. Los controles Botones de Opción necesariamente tienen que estar agrupados por el control Marco. Para agrupar controles, dibuje primero el control Marco y, a continuación, dibuje los controles dentro de Marco.
Propiedades
Caption Título de marco.
Enabled Determina si está habilitado para responder a las acciones del usuario.
Name Nombre del control.
Visible Determina si el Marco y los controles que contiene están visibles o no.
Control Casilla de Verificación (CheckBox) 
Las casillas de verificación se utilizan para proporcionar al usuario opciones de tipo Si/No o Verdadero/Falso. Cuando el usuario selecciona una opción (activa la casilla), aparece una marca de verificación (a ) dentro de la casilla.
Propiedades
Caption Descripción que acompaña a la casilla.
Enabled True/False. Determina si está habilitado para responder a las acciones del usuario.
Name Nombre del control.
Value 0 – Unchecked (Vacío, no marcado)
1 – Checked (Marcado)
2 – Grayed (Gris, Indefinido)
Visible Determina si la casilla está visible o no.
Eventos
Click Ocurre cuando el usuario hace clic sobre la casilla.

Control Botón de Opción (OptionButton)
Estos controles se utilizan para que el usuario seleccione una opción de un grupo opciones. La opción seleccionada tiene un punto en el centro.
Propiedades
Caption Descripción que acompaña a la opción.
Enabled True/False. Determina si está habilitado para responder a las acciones del usuario.
Name Nombre del control.
Value True/False, marcado o no marcado.
Visible True/False. Determina si el botón está visible o no.
Eventos
Click Ocurre cuando el usuario hace clic sobre el botón.
Arreglo de Controles
Cuando creamos un arreglo de controles, todos los controles que forman el arreglo deben tener el mismo nombre (Propiedad Name), la propiedad Index establece el índice de cada control en el arreglo, esta propiedad comienza desde 0.
Un arreglo de controles es un grupo de controles que comparten el mismo:
  • Tipo de objeto
  • Nombre del control
  • Procedimientos de evento
Código más fácil de escribir y mantener
Los arreglos de controles hace que el código sea más fácil de escribir y mantener debido a que solo escribe un solo procedimiento de evento para todos los controles pertenecientes al arreglo, el parámetro Index del procedimiento de evento determina desde que control ocurrió el evento.
Código más eficiente
Los arreglos de controles hacen que el código sea más eficiente y mejoran el rendimiento de la aplicación debido a que usa menos recursos del sistema que los controles individuales.
¿Cómo se crea un arreglo de controles?
Luego de crear y establecer el nombre del primer control, tiene dos alternativas:
  1. Copiar el primer control al portapapeles.
  2. Luego pegar el control de portapapeles en el formulario. Visual Basic le preguntará si desea crear un arreglo de controles.
  3. Repita el paso 2 hasta completar el arreglo.
Método 2
  1. Dibuje el siguiente control y establezca su nombre igual al del primer control. Visual Basic le preguntará si desea crear un arreglo de controles.
  2. Repita el paso 1 hasta completar el arreglo.
Ejemplo
La interfaz mostrada tiene un arreglo de controles para seleccionar el reporte, el procedimiento de evento es el mismo para cualquier elemento del arreglo.
El código para el evento clic es:
Control Barra de Desplazamiento 
Barra de Desplazamiento Horizontal (HScrollBar)
Barra de Desplazamiento Vertical (VScrollBar)
Son usuados con frecuencia para permitir rápidos desplazamientos a través de una lista grande de items. Por ejemplo: archivosindicadores de posición actual de una escala de valores, indicadores de volumen en un sistema de audio.
Propiedades
LargeChange De 1 a 32767. Cantidad de cambio cuando el usuario hace clic en el desplazamiento largo.
Max Máximo valor de desplazamiento cuando el botón se encuentra en la posición más alta. Valor predeterminado: 32767.
Min Mínimo valor del desplazamiento cuando el botón se encuentra en la posición más baja. Valor predeterminado: 0.
Name Nombre ddel control.
SmallChange De 1 a 32767. Cantidad de cambio cuando el usuario hace clic en la flecha de desplazamiento.
Value Valor actual en la escala de valores.
Evento
Change Ocurre cuando el usuario se desplaza o se cambia el valor de la propiedad Value.
Control Cuadro de Lista (ListBox) 
Un control ListBox muestra una lista de elementos entre los cuales el usuario puede seleccionar uno o más elementos. Si el número de elementos supera el número que puede mostrarse, se agregará automáticamente una barra de desplazamiento al control ListBox.
La propiedad List es un arreglo que contiene los elementos de la lista, y comienza con índice 0. La propiedad ListCount establece el número total de elementos de la lista. La propiedad ListIndex contiene el índice del elemento seleccionado, el cual es un número entre 0 (primer elemento) y el número total de elementos en la lista –1 (ListCount – 1). Si no se selecciona ningún elemento, el valor de la propiedad ListIndex será –1.
La propiedad NewIndex contiene el índice del último elemento añadido a la lista. Esto puede ser útil si desea hacer algo con el elemento añadido, por ejemplo, que sea el elemento actualmente seleccionado.
Propiedades
Enabled True/False. Determina si el control responde a las acciones del usuario.
List Arreglo con los elementos de la lista.
ListCount Número de elementos de la lista.
ListIndex Elemento seleccionado.
MultiSelect Establece si es posible seleccionar varios elementos o uno solo.
Name Nombre del control.
NewIndex Indice del último elemento añadido al Cuadro de Lista.
Selected Arreglo de valores lógicos paralelo y del mismo tamaño al arreglo list, indica que elementos han sido seleccionados (True) de la lista. Se utiliza en lugar de ListIndex cuando establecemos la propiedad Multiselect en 1 ó 2.
Sorted True/False. Establece los elementos se ordenan alfabéticamente.
Style Establece el comportamiento del control.
Text Devuelve el elemento seleccionado en el cuadro de lista; el valor de retorno es siempre equivalente al que devuelve la expresión List(ListIndex). Es de sólo lectura en tiempo de diseño y es de sólo lectura en tiempo de ejecución.
Métodos
AddItem Permite añadir nuevos elementos a la lista.
RemoveItem Permite eliminar elementos de la lista.
Eventos
Click Ocurre cuando el usuario interactúa con el control.
Ejemplos
Muestra en el Cuadro de Texto txtGaseosa el elemento seleccionado
Private Sub lstGaseosas_Click()
txtGaseosa.Text = lstGaseosas.Text
End Sub
Añade un nuevo elemento al Cuadro de Lista lstGaseosas
Elimina el elemento actual del Cuadro de Lista lstGaseosas
Control Cuadro Combinado (ComboBox) 
Un control ComboBox combina las características de un control TextBox y un control ListBox; los usuarios pueden introducir información en la parte del cuadro de texto o seleccionar un elemento en la parte de cuadro de lista del control.
Para agregar o eliminar elementos en un control ComboBox, se usa el método AddItem o RemoveItem. Establezca las propiedades List, ListCount y ListIndex para permitir a un usuario tener acceso a los elementos de un control ComboBox. Como alternativa, puede agregar elementos a la lista mediante la propiedad List en tiempo de diseño.
Propiedades
Enabled True/False. Determina si el control responde a las acciones del usuario.
List Arreglo con los elementos de la lista.
ListCount Número de elementos de la lista
ListIndex Elemento seleccionado.
Name Nombre del control.
NewIndex Indice del último elemento añadido al cuadro de lista.
Sorted True/False. Establece si los elementos se ordenan alfabéticamente.
Style Establece el comportamiento del control.
Text Texto que contiene el control.
Métodos
AddItem Permite añadir nuevos elementos a la lista.
RemoveItem Permite eliminar elementos de la lista.
Eventos
Click Ocurre cuando el usuario interactúa con la lista del control.
Change Ocurre cuando el valor de la propiedad Text es modificado.
Propiedad Style
Esta propiedad establece el comportamiento del control ComboBox, y puede tomar los siguientes valores:
Ejemplo
En la siguiente interfaz se ilustra el uso del control ComboBox y la propiedad Style.

Muestra la gaseosa seleccionada por el usuario en la etiqueta lblGaseosa
Private Sub cboGaseosas_Click()
lblGaseosa.Caption = cboGaseosas.Text
End Sub
Actualiza la etiqueta lblGaseosa cuando el usuario modifica el control cboGaseosas
Private Sub cboGaseosas_Change()
lblGaseosa.Caption = cboGaseosas.Text
End Sub
Muestra el encuestado seleccionado por el usuario en la etiqueta lblEncuestado
Private Sub cboEncuestados_Click()
lblEncuestado.Caption = cboEncuestados.Text
End Sub
Muestra en la etiqueta lblCiudad el elemento seleccionado del control cboCiudades
Private Sub cboCiudades_Click()
lblCiudad.Caption = cboCiudades.Text
End Sub
Procedimientos
Existen dos tipos de procedimientos con los que se trabaja en Visual Basic: los procedimientos de evento y los procedimientos generales.
Procedimientos de Evento
Visual Basic invoca automáticamente procedimientos de evento en respuesta a acciones del teclado, del ratón o del sistema. Por ejemplo, los botones de comando tienen un procedimiento de evento Click. El código que se escriba en el procedimiento de evento Click es ejecutado cuando el usuario haga clic en un botón de comando.
Cada control tiene un conjunto fijo de procedimientos de evento. Los procedimientos de evento para cada control son mostrados en un cuadro de lista despegable en la ventana de código.
Procedimientos Generales
Los procedimientos generales son procedimientos Sub o Function que son creados para que lleven a cabo tareas específicas, estos deben ser invocados de manera explícita.
Para crear un procedimiento general, se debe abrir la ventana de código y hacer clic en la orden Agregar procedimiento del menú Herramientas. También se puede crear un nuevo procedimiento escribiendo el encabezado de procedimiento Sub, seguido por el nombre del procedimiento, en una línea en blanco dentro de la ventana de código.
Si se tiene código duplicado en varios procedimientos de evento, se puede colocar el código en un procedimiento general y luego invocar al procedimiento general desde los procedimiento de evento.
Procedimientos Sub
Los procedimientos Sub no retornan valores. Por ejemplo:
Los procedimientos Sub son invocados especificando sólo el nombre del procedimiento, o empleando la instrucción Call con el nombre del procedimiento. Por ejemplo:
Call Seleccionar(Text1)
Si se emplea la instrucción Call, se debe encerrar la lista de argumentos entre paréntesis. Si se omite Call, también se deben omitir los paréntesis alrededor de la lista de argumentos.
Procedimientos Function
Los procedimientos Function devuelven valores. En el siguiente ejemplo, el procedimiento Function recibe un número y devuelve ese número al cuadrado.
Public Function Cuadrado(N As Integer) As Integer
Cuadrado = N * N
End Function
Si se desea guardar el valor devuelto, se debe usar paréntesis cuando se invoque a la función, como se muestra a continuación:
Resultado = Cuadrado (5)
Si se omiten los paréntesis, se puede ignorar el valor devuelto y no guardarlo en una variable. Esto puede ser útil si se quiere ejecutar una función y no se desea el valor devuelto. Por ejemplo:
Cuadrado 5
Alcance del Código
Además de poder declarar código en un módulo de formulario, también se puede declarar procedimientos en un módulo de código estándar.
Los módulos de código estándar sólo contienen código de Visual Basic, y son un buen lugar para almacenar código que no es específico para un solo formulario. Los procedimientos pueden ser declarados como Private (privados) o Public (públicos).
Los procedimientos declarados como Private pueden ser llamados o invocados sólo por otros procedimientos localizados en ese formulario, módulo o clase.
Los procedimientos declarados como Public en un formulario se convierten en métodos del formulario. El procedimiento puede ser llamado desde cualquier lugar de la aplicación especificando los nombres del formulario y del procedimiento.
Los procedimientos declarados como Public en un módulo están disponibles para toda la aplicación, y pueden ser llamados especificando el nombre del procedimiento.
El siguiente código declara un procedimiento Public.
Public Sub MiProc()
End Sub
Si se declara el procedimiento en un módulo de formulario, puede ser llamado con el siguiente código.
Form1.MiProc
Si se declara el procedimiento en un módulo estándar, puede ser llamado con el siguiente código.
MiProc
Si se declara un procedimiento con el mismo nombre en dos módulos estándar, se debe especificar el nombre del módulo como se muestra en el siguiente código.
Module1.MiProc
Uso del Examinador de Objetos para ver Procedimientos y Librerías de Objetos
Una vez que se ha añadido código a una aplicación se puede emplear el Examinador de objetos para listar a todos los procedimientos que han sido creados, pasar rápidamente a un procedimiento específico, o pegar una llamada a un procedimiento dentro de una ventana de código.
El Examinador de objetos visualiza las clases que están disponibles desde cualquier librería de objetos a la que se ha establecido una referencia. Para visualizar el Examinador de objetos presione la tecla de función F2.



PROPIEDADES Y METODOS DEL CONTROL



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:

Vista previa del uso de la propiedad style del control TabbedDialog

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:
Vista previa de la orientación de las pestañas del control Tabbed

Nota: Para poder utilizar las pestañas con la propiedad Orientation en ssTabOrientationLeft y ssTabOrientationRight, el tipo de fuente que debe tener configurado elTabbedDialog 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.


Objetos, propiedades, métodos y eventos

Visual Studio .NET 2003

Los objetos, propiedades, métodos y eventos son las unidades básicas de la programación orientada a objetos. Un objeto es un elemento de una aplicación, que representa unainstancia de una clase. Propiedades, métodos y eventos son las unidades de creación básicas de los objetos y constituyen sus miembros.

Objects

Un objeto representa una instancia de una clase, como FormControl o Component. En código de Visual Basic, debe crear una instancia de un objeto antes de poder aplicar uno de los métodos del objeto o cambiar el valor de una de sus propiedades. La creación de instancias es el proceso mediante el cual se crea una instancia de una clase y se asigna a una variable de objeto. A continuación se muestra un ejemplo:
Dim x As New MyClass()
En este ejemplo, la variable x se asigna para hacer referencia a una nueva instancia de la clase MyClass.

Propiedades

Una propiedad es un atributo de un objeto que define una de las características del objeto, como tamaño, color o ubicación en pantalla, o un aspecto de su comportamiento, por ejemplo, si está habilitado o visible. Para cambiar las características de un objeto, se cambian los valores de las propiedades correspondientes.
Para establecer el valor de una propiedad, establezca la referencia a un objeto con un punto, el nombre de propiedad, un signo igual (=) y el nuevo valor de la propiedad. Por ejemplo, el siguiente procedimiento cambia el título de un formulario Windows Forms de Visual Basic mediante la definición de la propiedad Text:
Public Sub ChangeName(newTitle)
   myForm.Text = newTitle
End Sub
Algunas propiedades pueden establecerse. El tema de Ayuda de cada propiedad indica si esa propiedad se puede establecer (lectura y escritura), sólo leer (sólo lectura) o sólo escribir (sólo escritura).
Puede recuperar información sobre un objeto mediante la obtención del valor de retorno de una de sus propiedades. El siguiente procedimiento utiliza un cuadro de mensaje para mostrar el título que aparece en la parte superior del formulario actualmente activo.
Public Sub GetFormName()
   Dim formName As String
   formName = myForm.Text
   MsgBox(formName)
End Sub

Métodos

Un método es una acción que un objeto puede realizar. Por ejemplo, Add es un método del objeto ComboBox, porque agrega una nueva entrada a un cuadro combinado.
En el siguiente ejemplo se ilustra el uso del método Start de un componente Timer:
' Instantiates a Timer object.
Dim myTimer As New System.Windows.Forms.Timer()   
' Invokes the Start method of myTimer.
MyTimer.Start

Eventos

Un evento es una acción que un objeto reconoce, como hacer clic con el mouse (ratón) o presionar una tecla, y para el que puede escribir código para responder. Los eventos se producen como consecuencia de una acción del usuario o de código de programa, o bien pueden ser desencadenados por el sistema. También puede desarrollar eventos personalizados propios para que los generen sus objetos y los controlen otros objetos. Para obtener más información, vea Eventos y delegados.




CONCEPTO SSTAB






SSTab Control


The SSTab control provides a group of tabs, each of which acts as a container for other controls. Only one tab is active in the control at a time, displaying the controls it contains to the user while hiding the controls in the other tabs.
Syntax
SSTab
Remarks
An SSTab control is like the dividers in a notebook or the labels on a group of file folders. Using an SSTab control, you can define multiple pages for the same area of a window or dialog box in your application. Using the properties of this control, you can:
  • Determine the number of tabs.
  • Organize the tabs into more than one row.
  • Set the text for each tab.
  • Display a graphic on each tab.
  • Determine the style of tabs used.
  • Set the size of each tab.
To use this control, you must first decide how you want to organize the controls you will place into various tabs. Set the Tabs and TabsPerRow properties to create the tabs and organize them into rows. Then select each tab at design time by clicking the tab. For each tab, draw the controls you want displayed when the user selects that tab. Set theCaptionPictureTabHeight, and TabMaxWidth properties as needed to customize the top part of the tab.
At run time, users can navigate between tabs by either pressing CTRL+TAB or by using accelerator keys defined in the caption of each tab.
You can also customize the entire SSTab control using the StyleShowFocusRectTabOrientation, and WordWrap properties.
Distribution Note   The SSTab control is found in the TABCTL32.OCX file. To use the SSTab control in your application, you must add the control's .OCX file to the project. When distributing your application, install the appropriate .OCX file in the user's Microsoft Windows System or System32 directory. For more information on how to add an additional control to a project, see the Visual Basic Programmer's Guide.



Monday, June 15, 2015

CONTROL SS- TAB USADO PARA CREAR VIÑETAS O PESTAÑAS


El control SSTab en Visual Basic 6.0



  Proporciona un conjunto de Fichas (Panels en otros lenguajes), cada uno de los cuales actúa como contenedor de otros controles (A diferencia del control TabStrip que solo simula el comportamiento pero que no es un contenedor).
Para acceder al control SSTab Elegir: Menú Proyecto > Referencias (o con las teclas Ctrl + T). Debe aparecer el cuadro de dialogo “Componentes”, elegir Microsoft Tabbed Dialog Control 6.0 (TABCTL32.ocx), así ya estará disponible en la barra de herramientas.
Fig. 1: Página de propiedades de un control SSTab mostrando los estilos de Tab que puede presentar.Fig. 1: Página de propiedades de un control SSTab mostrando los estilos de Tab que puede presentar.




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.

vista del control Sstab

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
vista de la ventana de componentes para agregar el control Sstab al iniciar un nuevo proyecto

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:

vista de la ventana página de propiedades del Microsoft Tabbed dialog control

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:

Vista previa del uso de la propiedad style del control TabbedDialog

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:
Vista previa de la orientación de las pestañas del control Tabbed

Nota: Para poder utilizar las pestañas con la propiedad Orientation en ssTabOrientationLeft y ssTabOrientationRight, el tipo de fuente que debe tener configurado elTabbedDialog 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


Cómo usar las pestañas en Visual Basic



Cómo usar las pestañas en Visual Basic
Las pestañas de  tienen cuatro funciones diferentes. Permiten navegar dentro de los formularios, sirven como espaciadores para la  de textos a través de Visual Basic, actúan como delimitador entre los campos de texto para las  de datos, y muestran pestañas de cajas de diálogo en las . Dos controles, “TabStrip” and “SSTab”, son parte de la matriz de Visual Basic de control de objetos. Elegir entre los controles TabStrip y SSTab es una decisión que debe tomar el programador dependiendo de las propiedades individuales de cada uno. TabStrip es más complicado para desarrollar pero tiene más características, aunque el control SSTab ofrece un desarrollo más rápido.

 Utilizar Viñetas mediante la propiedad SelBullet

Este ejemplo muestra como utilizar dicha propiedad en conjunto con la propiedad BulletIndent para aplicar viñetas. Como muestra el gráfico, al presionar el checkBox, se establece la propiedad en SelBullet en True. BulletIndent en cambio, especifica la sangría de la línea que tiene la viñeta.
Colocar un check1 y un control RichText
vista del ejemplo con el control check para aplicar viñetas a un control Rich TextBox
Nota: la propiedad BulletIndent para el margen, toma como escala el valor del contenedor del control RichTextbox, es decir si por ejemplo está en un formulario y el ScaleMode en VbPixels, el margen será en pixeles.
 Private Sub Check1_Click()

If Check1 Then

'Sangría de 20 pixeles
   El_RichTextBox.BulletIndent = 20
   'Establece la viñeta al Richtext
   El_RichTextBox.SelBullet = True
Else
   ' Quita la viñeta
   El_RichTextBox.SelBullet = False
End If


El_RichTextBox.SetFocus

End Sub

Private Sub El_RichTextBox_SelChange()
'Cambia el Value del check según el valor _
de SelBullet del párrafo donde estamos ubicados
If El_RichTextBox.SelBullet Then
   Check1.Value = 1
Else
   Check1.Value = 0
End If
End Sub

Private Sub Form_Load()
'Pixeles
Me.ScaleMode = vbPixels
Check1.Caption = " Viñeta "
End Sub