|
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.
|
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
|
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.
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
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.
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
|
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.
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.
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
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:
Después, en tiempo de ejecución, utilice la siguiente sintaxis:
Load objeto(indice%)
Unload 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.
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