lunes, 9 de enero de 2017

CONTROLES DE VISUAL BASIC




CONTROLES DE VISUAL BASIC.
 
                                                                                                                                                                          


   




Nombre de control
Nombre de clase
Descripción



Casilla de verificación
CheckBox
Presenta una opción de tipoVerdadero o Falso.
Cuadro combinado
ComboBox
Cambina un cuadro de texto y un cuadro de lista.
Botón de comando
CommandButton
Ejecuta un comando o una acción cuando el usuario hace clic en él.
Datos
Data
Permite conectar una base de datos existente y presentar información en ella en los formularios.
Cuadro de lista de directorios
DirListBox
Presenta directorios y rutas de acceso.
Cuadro de lista de archivos
FileListBox
Presenta una lista de archivos.
Cuadro de lista de unidades
DriveListBox
Presenta una lista de unidades de disco validas.
Marco
Frame
Proporciona un contenedor visual y funcional para los controles.
Barras de desplazamiento horizontal y vertical
HScrollBar y VScrollBar
Permite que un usuario agregue barras de desplazamiento a controles que no las tienen de forma automática.
Imagen
Image
Presenta mapas de bits, iconos o metarchivos de Windows, archivos JPEG o GIF, y actúa como un botón de comando cuando se hace clic en él.
Etiqueta
Label
Presenta texto con el cual el usuario no puede interactuar ni modificar.
Línea
Line
Agrega un segmento de línea recta a un formulario.
Cuadro de lista
ListBox
Presenta una lista de elementos entre los que el usuario puede elegir.
Contenedor OLE
OLE
Incrusta datos en una aplicación de Visual Basic.
Botón de opción
OptionButton
El control OptionButton, como parte de un grupo de opciones con otros botones de opción. Presenta varias opciones entre las ue el usuario sólo puede elegir una.
Cuadro de imágen
Picturebox
Presenta mapas de bits, íconos o metarchivos de Windows y otros tipos de archivos graficos compatibles. También presenta texto o actúa como contenedor visual para otros controles..
Forma
Shape
Agrega un rectángulo, un cuadrado, una elipse o un circulo a un formulario, marco o cuadro de imagen.
Cuadro de texto
TextBox
Proporciona una área para escribir o presentar texto.
Cronómetro
Timer
Ejecuta eventos periódicos a intervalos de tiempo específicado.

2. Controles ActiveX
Son aquellos controles que existen como archivos independientes con extensión nombre de archivo .ocx. Entre éstos se incluyen los controles disponibles en todas las ediciones de Visual Basic (controles cuadrícula, cuadro combinado y lista enlazados a datos y varios más) y los que sólo están disponibles en la Edición Profesional y la Edición Empresarial (como Listview, Toolbar, Animation y Tabbed Dialog). A estos también se suman los controles Activex de otros fabricantes.
Nombre de control
Nombre de clase
Descripción
Control de datos ADO
ADODC
Crea una conexión a una base de datos de datos mediane ADO. Asignable a la propiedad DataSource de otros controles, como el control DataGrid.
Dialogo común
CommonDialog
Proporciona un conjunto de cuadros de diálogo estándar para operaciones como abrir y guardar archivos, establecer opciones de impresión y seleccionar colores y fuentes.
Cuadro combinado enlazado a datos
DataGrid
Proporciona las mayorías de las opciones del control ComboBox estándar, así como mayor capacidad de acceso a datos.
Cuadrícula Apex enlazada a datos
DataGrid
Control con apariencia de una hoja de cálculo vinculado aun origén de datos como un control de datos ADO. Es posible la lectura y la modificación del recordset.
Cuadro de lista enlazado a datos.
DataList
Proporciona la mayoría de de las características del control ListBox estándar, asi como mayor capacidad de acceso a datos.
FlexGrid de Microsoft
MSFlexGrid
Control con apariencia de hoja de cálculo de sólo lectura que se puede vincular al diseñador de entorno de datos para mostrar recordset jerárquicos

3. Objetos insertables
Como un objeto Worksheet de Microsoft Excel que contienen la lista de los empleados de su empresa, o un objeto Calendar de Microsoft Project que contiene la información del calendario de un proyecto. Puesto que estos objetos se pueden agregar al cuadro de herramientas, se les considera controles.
Convenciones de nomenclatura de los controles
Cuando crea un objeto (un formulario o un control) por primera vez, Visual Basic establece su propiedad Name a un valor predeterminado. Por ejemplo, todos los botones de comando tienen la propiedad Name establecida inicialmente a Commandn, donde n es 1, 2, 3 y así sucesivamente. Visual Basci llama al primer botón de comando de un formulario Command1, al segundo Command2 y al tercero Command3.
Puede mantener los nombres predeterminados; sin embargo, cuando tiene varios controles del mismo tipo, es más lógico modificar las propiedades Name para que sean algo más descriptivas. Como puede ser dificil distinguir entre el botón Command1 de miForm y el botón Command1 de SubForm, la convención de nomenclatura es recomendable, especialmente cuando una aplicación se compone de varios módulos de formulario, módulos estándar y módulos de clase.
Puede usar un prefijo para describir la clase, seguido de un nombre descriptivo del control. El uso de convención de nombres hace que el código sea más autodescriptivo y agrupa objetos similares alfabéticamente en el cuadro de lista Objeto. Por ejemplo:
chkSoloLectura
Los nombres de los formularios y los controles:
  • Deben empezar por una letra
  • Sólo deben contener letras, números y el carácter de subrayado (_); no se permiten signos de puntuación ni espacios en blanco.
  • No pueden tener una longitud mayor de 40 caracteres.
Para más información vea: Programar con estilo
Valores de los controles
Todos los controles tienen una propiedad que se puede usar para almacenar u obtener valores mediante una referencia al control, sin mencionar el nombre de la propiedad.
Este se denomina valor del control y normalmente es la propiedad más importante o la más frecuentemente utilizada del control.
Cuando quiera hacer una referencia a la propiedad de un control que es el valor de dicho control, puede hacerlo sin especificar el nombre de la propiedad. Por ejemplo, esta línea de código establece la propiedad Text de un cuadro de texto.
Text1 = "Este texto se asigna a la propiedad Text de Text1"
En este ejemplo, la propiedad Caption de Label1 se establece a la propiedad FileName de File1 cuando el usuario hace clic en un archivo del cuadro de lista de archivos:
Private File1_Click()
   Label1 = File1
End Sub
En la tabla siguiente se enumeran las propiedades consideradas como valor de control.
Control
Valor
CheckBox
Value
ComboBox
Text
CommandButton
Value
CommonDialog
Action
Data
Caption
DataCombo
Text
DataGrid
Text
DataList
Text
DirListBox
Path
DriveListBox
Drive
FileListBox
FileName
FlexGrid
Text
Frame
Caption
HScrollBar
Value
Image
Picture
Label
Caption
Line
Visible
ListBox
Text
OptionButton
Value
PictureBox
Picture
Shape
Shape
TextBox
Text
Timer
Enabled
VScrollBar
Value

Matrices de controles
Una matriz de controles en un grupo de controles que comparten el mismo nombre y el mismo tipo. También comparten los mismos procedimientos de evento. Las matrices de controles tienen al menos un elemento y pueden crecer hasta contener tantos elementos como permitan los recursos y la memoria del sistema; su tamaño dependen también de la memoria y de los recursos de Windows requeridos por cada control. El índice máximo que puede usar en una matriz de controles es 32 767. Los elementos de una misma matriz de controles tienen sus propio valor de propiedades. Entre los mas usados están los controles de menú y las agrupaciones de botones de opción.
¿Por qué usar matrices de controles?
Al agregar controles mediante matrices de controles se utilizan menos recursos que si simplemente se agregan al formulario múltiples controles del mismo tipo en tiempo de diseño. Las matrices de controles también son útiles cuando quiere que varios controles compartan código. Por ejemplo, si crea tres botones de opción como una matriz de controles, se ejecuta el mismo código independiente del botón en el que haga clic.
Si desea crear una instancia nueva de un control en tiempo de ejecución, dicho control tiene que ser miembro de una matriz de controles. En una matriz, los nuevos elementos heredan los procedimientos de evento comunes de toda la matriz.
Mediante el mecanismo de las matrices de controles, cada nuevo control hereda los procedimientos de eventos comunes escritos para la matriz. Por ejemplo, si el formulario tiene varios cuadros de texto que reciben valores de fechas, puede definir una matriz de controles para que todos los cuadros de texto compartan el mismo código de validación.
Cuando crea una matriz de controles los valores de la propiedad Index de dicho control se agrega al momento de agregar los elementos de la matriz. Es la propiedad Index la que distingue cada elemento de otro dentro de la matriz de controles.
Cuando un elementos de la matriz reconoce un evento, Visual Basic llama a un procedimiento de evento común y pasa el argumento (el valor de la propiedad Index) para identificar qué control reconoce realmente el evento. Por ejemplo:
Private Opciones_Click (Index as Integer)
     Select Case
     Case 0
          ... instrucciones para el primer elemento
     Case 1
          ... instrucciones para el segundo elemento
     End Select
End Sub
Agregar, eliminar un elemento de una matriz de controles en tiempo de ejecución
Puede agregar o quitar controles de una matriz de controles en tiempo de ejecución mediante las instrucciones Load y Unload. sin embargo, el control que va a agregar tiene que ser un elemento de una matriz de controles existente. Debe crear un control en tiempo de diseño con la propiedad Index establecida en la mayor parte de los casos a 0.
Después, en tiempo de ejecución, utilice la siguiente sintaxis:
Load objeto(indice%)
Unload objeto(indice%)
Donde:
objeto: Nombre del control que va a agregar o eliminar de la matriz de controles.
indice%: El valor de índice del control dentro de la matriz.
Puede utilizar Unload para quitar cualquier control creado con Load. Sin embargo, no puede usar Unload para quitar controles creados en tiempo de diseño, independientemente de si forman parte o no de una matriz de controles.
Ejemplo:
En este ejemplo se permite al usuario agregar controles que cambian el color de fondo de la ventana. Agrege un formulario y despúes dibuje dos botones de opciones y dos botones de comando, como se ilustra en la tabla siguiente:
Objeto
Propiedad
Valor
Form1
Caption
Ejemplo de matriz de controles
Option1
Name
optButton

Index
0
Option2
Name
optButton

Index
1
Primer botón de comando
Name
cmdAgregar

Caption
&Agregar
Segundo botón de comando
Name
cmdEliminar

Caption
&Eliminar




Ahora copie el siguiente código y ejecute el proyecto para ver como funciona:
Option Explicit
Dim MaxID As Integer

Private Sub cmdAgregar_Click()
     MaxID = optButton.Count - 1   'Establece el total de botones existentes
     If MaxID > 3 Then Exit Sub       'Sólo se permiten 5 botones
     MaxID = MaxID + 1
  
     Load optButton(MaxID)            'Crea un nuevo control  
     optButton(0).SetFocus               'Enfoque al primer botón
  
     'Colocar el nuevo control debajo del último control
     optButton(MaxID).Left = optButton(MaxID - 1).Left
     optButton(MaxID).Top = optButton(MaxID - 1).Top + _
     optButton(MaxID - 1).Height + 100
     optButton(MaxID).Visible = True  'Mostrar el nuevo control
  
     'Texto en el nuevo botón
     optButton(MaxID).Caption = "Opción " & MaxID + 1
End Sub

Private Sub cmdEliminar_Click()
     If MaxID <= 1 Then Exit Sub    'No podrá eliminar los dos primeros botones
  
     Unload optButton(MaxID)        'Elimina el último botón
  
     MaxID = MaxID - 1                   'Establece el recuento de botones
  
     optButton(0).SetFocus               'Reestablece la selección del botón
End Sub
Private Sub optButton_Click(Index As Integer)
    Form1.BackColor = QBColor(Index + 1)
End Sub