Visual Basic – Guía del
Estudiante Cap. 2
FORMULARIO
____________
El primer objeto Visual Basic con
que nos encontramos es el FORMULARIO. De hecho, cada vez que
iniciamos Visual Basic (VB)
nos presenta en pantalla un nuevo formulario, que tiene por
defecto el nombre de Form1
El Formulario es un objeto, que sirve de
soporte de otros objetos. El nombre de FORMULARIO lo toma
precisamente porque, al igual que un formulario de papel contiene
textos escritos, lugares donde podemos escribir, figuras, cajas
donde podemos elegir una u otra opción, etc., en este
cuadro gráfico que llamamos formulario, podemos introducir
textos escritos, lugares donde podemos escribir, figuras, cajas
donde podemos elegir una u otra opción ….
En realidad un formulario es lo que normalmente
conocemos por VENTANA. El nombre de formulario le viene muy bien
cuando ese formulario es una ventana donde vamos a introducir
datos
alfanuméricos. Cuando en vez de introducir datos, lo que
tenemos es, por ejemplo, una ventana donde se reproducen
exactamente los controles de operación de una
máquina, parece en principio que sería mas correcto
el nombre de "ventana". De alguna forma lo hay que llamar, y esa
forma es FORMULARIO. Posiblemente a lo largo de estos apuntes nos
referiremos al formulario con el nombre de ventana, o incluso,
pantalla. Procuraremos usar el nombre apropiado:
FORMULARIO.
Forma inicial del formulario.
Ejemplo de un formulario para una aplicación
industrial. Este formulario reproduce el panel de control
de un transmisor – receptor de radio. En este
caso, parece que el nombre de ventana le viene mejor que el de
formulario. Observe que dentro del formulario existen gran
cantidad de objetos. Botones, que hacen la misma función
que el botón real en el equipo de radio, y un par
de displays, que muestran un texto, en este
caso las frecuencias de transmisión y
recepción.
Como cualquier objeto Visual Basic, un
formulario tiene propiedades y procedimientos:
PROPIEDADES.
Name Nombre
Define al objeto durante la ejecución del
programa. Se
introduce en tiempo de
diseño y no se puede variar durante la
ejecución. Nombre por defecto: Form1 (Form2 y sucesivos)
Este nombre por defecto debe cambiarse, (debería
cambiarse por norma en el momento de introducir el formulario),
ya que de no hacerlo corremos el riesgo de
borrar el código existente de otro formulario del mismo
nombre en el momento de guardar la
aplicación.
Caption Título
Es el texto que
aparecerá en la barra de Título cada vez que
aparezca en pantalla este formulario. No tiene otra
función dentro del programa. El
programa no
accede a este formulario por el título, sino por el
nombre. Puede cambiarse en tiempo de
ejecución.
NOTA.- No confundir Nombre (Name) con
Título (Caption)
Control BoxControl "menos" del Formulario
Valor por
defecto : True
Propiedad booleana que admite los valores
de true (verdadero) o False (Falso). Si esta propiedad es
True, aparecerá en la esquina superior izquierda el
"menos" para desplegar el menú de control de
este formulario. Si esta propiedad se
pone como False, no existirá dicho "menos" y por tanto
no se puede desplegar dicho menú.
MinButton
MaxButton Valor por defecto:
True
Botones (flechas) de minimizar y maximizar este
formulario. Son igualmente propiedades booleanas, que admiten
el valor True o
False. Si están en true, aparecerá la flecha
correspondiente. Si están en False, no aparecerá
dicha flecha. Deben configurarse de una u otra forma,
dependiendo si se quiere minimizar / maximizar este formulario
durante la ejecución.
Nota. En los formularios MDI
child, es necesario poner a true las propiedades
ControlBox, MinButton y MaxButton para
poder
maximizar el formulario hijo. De no ponerlas a true, sí se
pretende maximizar el formulario hijo, (Propiedad
WindowState=2) el formulario no aparece.
BorderStyle Tipo de borde
Define el tipo de borde que tendrá el
formulario durante la ejecución. No se puede cambiar en
tiempo de
ejecución,
Admite los siguientes valores:
0 – None El formulario no tiene borde
alrededor
1 – Fixed Single
El formulario tendrá un borde fino, y no
podrá cambiarse su tamaño durante el tiempo de
ejecución. Con este valor, el
formulario puede tener un menú de control,
barra de título y botones de maximizar y minimizar.
Solo podrá cambiarse de tamaño utilizando estos
botones.
2-Sizable
El formulario tendrá borde grueso, y se
podrá cambiar su tamaño en tiempo de
ejecución mediante los botones de maximizar y
minimizar, y mediante el arrastre de uno de los bordes con el
ratón.
3 – Fixed Dialog
El formulario tendrá borde grueso, y no se
podrá redimensionar durante la ejecución. No
puede tener los botones de maximizar ni minimizar.
4 – Fixed ToolWindow
En las versiones de 16 bits de Windows y
Windows NT
3.51 y anteriores se comporta como Fixed Single. No puede
cambiar de tamaño. En Windows 95
muestra el
botón Cerrar, y el texto de la
barra de titulo aparece con un tamaño de fuente
reducido. El formulario no aparece en la barra de tareas de
W95.
5 – Sizable ToolWindow
En las versiones de 16 bits se comporta como Sizable.
En W95 muestra el
botón Cerrar y el texto de la
barra de titulo aparece con un tamaño de fuente
reducido. El formulario no aparece en la barra de tareas de
W95.
Valor por defecto: 2 . Sizable
Nota: Al cambiar a determinados valores, las
propiedades MaxButton y MinButton se ponen a False. Pueden
cambiarse a True posteriormente.
AppearanceApariencia Valor por defecto:
3D
Admite los valores
0 (=Flat, plano) y 1 (=3D) Si tiene el valor 1
(3D), el formulario aparecerá con cierto efecto
tridimensional, y los controles que le introduzcamos a este
formulario aparecerán como esculpidos dentro de
él. Con valor 0
(Flat) en esta propiedad,
el formulario aparecerá durante la ejecución como
una superficie plana. El color de fondo
se ve afectado al cambiar esta propiedad.
Si se cambia a 3D, el fondo (Backcolor) toma el color definido
en Windows en
el Panel de
Control. Si se cambia a Flat, toma el color
blanco
Autoredraw Valor por defecto: False
Propiedad booleana. Esta propiedad, estando en True,
permite actualizar el contenido del formulario y de sus
controles incluso cuando no están visibles. Imaginemos
que en este formulario existe un texto, una
etiqueta (Label) o caja de texto (Text Box) cuyo texto se haya
cambiado, bien por programa, bien
por una entrada, mientras este formulario no estaba visible. Lo
mismo podemos decir de las propiedades de cualquier otro
control. Si
esta propiedad Autoredraw está en False, al hacer
visible este formulario, aparecerá igual que cuando se
ocultó. Si esta propiedad está en True,
aparecerá actualizado.
Backcolor Color del
fondo
Establece el color del fondo
del formulario. Puede cambiarse en tiempo de
ejecución.
Valor por defecto: El establecido en el Panel de Control
de Windows.
ClipControls Valor por defecto:
False
Propiedad Booleana. Establece si un evento Paint vuelve a
dibujar el objeto entero (True) o si solamente dibujan las partes
que han sufrido cambios (False)
DrawMode
Establece un valor que determina el aspecto de la salida
de un método
gráfico o el aspecto de un control Shape o
Line. Verá mas adelante los efectos de esta
propiedad.
DrawStile Valor por defecto : 0
Establece el estilo de línea de la salida de
métodos
gráficos:
Valores: 0 –
Línea continua
1 – Rayas
2 – Puntos
3 – Raya-Punto
4 – Raya – Punto – Punto
5 – Transparente
6 – Continuo interior.
DrawWidth Valor por defecto: 1
Establece el ancho de una línea dibujada. El
valor debe expresarse en pixeles.
Enabled Activado Valor por defecto:
True
Propiedad booleana. Si está en True, el
formulario está activado y se puede interactuar con
él. Si está en False, se desactiva el formulario,
impidiendo de esta forma, que se pueda trabajar con
él.
ForeColor Valor por defecto:
Negro
Establece el color del primer plano del formulario. Es
el color que tendrán las letras si escribimos en
él, o los dibujos, si lo
que hacemos es dibujar. En tiempo de diseño,
determina el color de la rejilla,.
FillStyleTipo de relleno Valor por defecto:
2
Establece el modo de rellenar controles Shape, o figuras
(círculos o cuadrados) creados con los métodos
gráficos Circle y Line.
Valores: 0 –
Continuo
1 – Transparente
2 – Línea Horizontal
3 – Línea Vertical
4 – Diagonal hacia arriba
5 – Diagonal hacia abajo
6 – Cruzado
7 – Diagonal cruzada
FillColorColor de relleno
Especifica el color del relleno contemplado en
FillStyle.
FontTipo de letra Valor por defecto: El
determinado en la personalización.
Especifica el tipo y tamaño de la letra que se
usará en el formulario. Al seleccionar esta propiedad en
la ventana de propiedades, aparece un cuadro de dialogo
donde se eligen ambos parámetros.
Cuando introduzca nuevos controles en el Formulario,
la propiedad Font de estos controles tomará el valor que
tenga esta propiedad en el Formulario. Puede servirle este
pequeño truco para utilizar en todos los controles una
determinada fuente sin tener que teclearla para cada control.
FontTranparentTexto Transparente Valor por
defecto: True
Establece si el texto o gráfico de fondo del
formulario se muestra (True)
o no se muestra entre
los caracteres de texto escritos en el propio
formulario.
FontSize Tamaño de letra
Establece el tamaño de la letra. Esta
propiedad, que puede variarse en tiempo de ejecución,
varía solamente el tamaño, y no el tipo de letra.
El tamaño debe expresarse en puntos. Máximo, 2160
puntos.
FontBold, FontItalic, FontStrikethru,
FontUnderline
Permiten, en tiempo de ejecución, cambiar un
texto a negrita, cursiva, tachado y subrayado. Son propiedades
booleanas True / False
HeightAltura Valor por defecto: No
existe
Define la altura del formulario. El valor de esta
propiedad no se introduce normalmente como un dato
numérico, sino que toma el valor automáticamente,
dependiendo de las dimensiones del formulario durante el tiempo
de diseño. Puede cambiarse durante el tiempo
de ejecución.
HelpContextID Valor por defecto: 0
Establece un número de contexto asociado para
este formulario. Este número se aplica para determinar
la ayuda interactiva asociada a este formulario. Vea mas
adelante, el tema Ayuda de Windows.
Puede tomar los siguientes valores : 0 – No se especifica
número de contexto
>0 Un entero que especifique un contexto
válido.
IconIcono
Esta propiedad define el icono que va a representar a
este formulario cuando esté minimizado. Si el formulario
es el formulario padre o formulario de inicio de una
aplicación, este icono es el que toma el Asistente de
Instalación para colocarlo como icono de apertura del
programa en
el grupo de
programas
Windows
correspondiente. Como valor de esta propiedad se le puede
asignar directamente el icono o el nombre de un archivo (con su
path correspondiente) que lo contiene, haciéndolo
directamente sobre la caja de propiedades.
Valor por defecto: el icono que se le haya programado
en la personalización.
KeyPreview Valor por defecto: False
Propiedad Booleana. Cuando un formulario tiene dentro de
sí varios controles, uno de ellos es el que está
activo. En estas condiciones, si se pulsa una tecla, esa
pulsación la recibe en primer lugar el control que
esté activo, y si éste no la procesa, pasa esa
pulsación al formulario. Para hacer que esa
pulsación pase directamente al formulario, debe ponerse
esta propiedad en True.
LeftBorde Izquierdo Valor por defecto: No
existe
Indica la posición del borde izquierdo del
formulario. Normalmente no se introduce como valor
numérico, sino que lo toma automáticamente de la
posición que tenga el formulario en el tiempo de
diseño. Puede cambiarse en tiempo de
ejecución, para mover el formulario.
LinkMode Valor por defecto: 0
Permite que una aplicación destino inicie una
conversación DDE con el formulario (origen de datos). Puede
tomar los siguiente valores:
0 – No hay interacción DDE
1 – Source. Indica que este Formulario es origen de
una comunicación DDE. El dato que se va a
traspasar en esa comunicación DDE estará en un
TextBox, en un Label o en un PictureBox de este
Formulario.
LinkTopic
Establece el tema al que este formulario va a
responder a una conversación DDE, cuando funciona como
origen. Es por este tema por el que se debe llamar a este
formulario cuando actúa de origen en una
conversación DDE
MDIChild Valor por defecto: False
Establece que este formulario es un formulario Hijo
dentro de un formulario MDI. No se puede cambiar en tiempo de
ejecución. Es una propiedad booleana
True = es formulario hijo False =No lo es
MouseIcon Valor por defecto: ninguno
Establece un icono personalizado para el puntero del
ratón cuando esté encima de este Formulario. Este
icono puede ser un bit-map de los existentes en el directorio
Icons de Visual Basic o
cualquiera que tengamos. Si se pone 99 como valor de la
propiedad MousePointer (siguiente), cada vez que el
puntero del ratón pase por este Formulario,
cambiará su forma y adoptará la del icono
elegido.
MousePointer Valor por defecto:
flecha
Determina la forma del puntero del ratón cuando
se coloca encima del formulario. Puede elegirse uno de los
punteros preestablecidos (15 en total) o el personalizado visto
en la propiedad anterior. Para elegir ese icono personalizado,
debemos poner en esta propiedad el valor 99.
Picture Gráfico Valor por defecto: No
existe
Mediante esta propiedad podemos poner un
gráfico como fondo del formulario. El gráfico
puede ser un bit-map o un fichero .ICO
ScaleHeight, ScaleWidth, ScaleMode,
Indican la unidad de medida de dimensión de
altura y anchura del Formulario. ScaleMode indica en
qué unidades de medida se van a medir esas dimensiones.
Acepta Twips (1), Point(2), Pixel (3), Character (4), Pulgadas
(Inch) (5), Milímetros (6), Centímetros (7). Si
colocamos la propiedad ScaleMode en cualquiera de estos
valores, las propiedades ScaleHeight y ScaleWidth
nos vendrán dadas automáticamente dependiendo del
ancho del Formulario, y no se extrañe si encuentra para
estas propiedades valores tan peregrinos como 4815 y 7423. Al
haber elegido la unidad de medida, los valores
de ancho (ScaleWidth) y alto (ScaleHeight)
serán los que tengan que ser, medidos en la unidad que
hemos elegido. Podemos elegir una cifra para el ancho y el alto
del Formulario de forma que podamos controlar mejor las
distintas posiciones que van a ocupar en él los
controles, los textos o los dibujos.
Podemos poner, por ejemplo, que el Formulario mida 400 de ancho
(ScaleWidth = 400) y 300 de alto (ScaleHeight =
300) forzándole estas propiedades, bien en tiempo de
diseño en la caja de propiedades, o en
tiempo de ejecución mediante código. Entonces
sabemos que el formulario, independientemente de las
dimensiones físicas que tenga sobre la pantalla,
medirá 400 de ancho y 300 de alto, y si en estas
condiciones queremos colocar un control o un dibujo justo
en el medio del Formulario, sabemos que tenemos que colocarle
en las coordenadas 200, 150. ¿Que unidad de medida
estaremos utilizando entonces en el Formulario ? Unas
definidas por el usuario (distintas para el ancho y el alto)
que serán las necesarias para que el Formulario mida de
ancho lo que le hayamos puesto en la propiedad
ScaleWidth y de alto lo que le hayamos puesto en la
propiedad ScaleHeight. Observe que la propiedad
ScaleMode se ha cambiado automáticamente a
User (0) al introducir las dimensiones de ancho y alto
que nosotros queremos.
Estas unidades de medida afectarán a los
controles que metamos en este Formulario. Se medirán en
su ancho y alto con la unidad de medida definida para el ancho
y alto del Formulario. Lógicamente también
afectará a las propiedades Left y Top de
los controles, pero estas propiedades se verán afectadas
además por las propiedades ScaleLeft y
ScaleTop del Formulario que se verán a
continuación.
ScaleLeft, ScaleTop
Estas propiedades, medidas en la unidad de medida
elegida para el ancho y alto mediante las propiedades
ScaleMode, ScaleWidth y ScaleHeight
anteriores, expresan las coordenadas iniciales de la parte
izquierda y de la parte superior respectivamente del
Formulario. Estas propiedades no afectan a la posición
del Formulario en la pantalla (Si está maximizado
seguirá ocupando toda la pantalla, si está en
"Normal" ocupará el mismo sitio que se dio en tiempo de
diseño). Supongamos que se le asigna a un
Formulario, las propiedades ScaleWidth = 400, y
ScaleHeight = 300. Si colocamos un control justamente en
el centro del Formulario tendrá sus propiedades
Top =150 y Left=200. Si ponemos ahora las
propiedades del Formulario ScaleLeft a 30 y
ScaleTop a 10, ese control, para seguir en el centro del
Formulario deberá tener sus propiedades Top a 160
(150 + 10) y Left a 230 (200 + 30).
Recuerde que las medidas de un formulario crecen,
desde la esquina superior izquierda, según avanzamos
hacia abajo y hacia la derecha.
Como aclaración de las relaciones entre
distintas unidades de medida, puede ver en la siguiente table
la correspondencia entre cada una de ellas y la unidad
imaginaria Twip.
1 Point=20 Twips ; 1Pixel=15 Twips : 1
Charecter=240 Twips ; 1 Inch (pulgada) =1440 Twips 1mm=56,52
Twips 1 cm=566 Twips
Tag Valor por defecto: No existe
Esta propiedad no la usa directamente Visual-Basic.
Sirve para asociar al formulario información adicional para fines externos
a la programación. Pero también le
puede servir para almacenar en ella una variable para que la
use un código ajeno al formulario. El autor de estos
apuntes tiene por costumbre utilizar la propiedad Tag
del formulario inicial para guardar el parámetro que se
le pasa a algunos programas para
acceder a ellos con unos determinados privilegios. Resumiendo,
está ahí para lo que el programador
quiere.
TopPosición del borde superior Valor
por defecto: No existe
Esta propiedad establece la posición del borde
superior del formulario. Normalmente no se introduce como valor
numérico sino que lo toma automáticamente de la
posición que tenga el Formulario durante el tiempo de
diseño Este valor puede cambiarse durante
la ejecución para, conjuntamente con Left, variar
la posición del Formulario. Los valores
de Top y Left definen la esquina superior
izquierda del Formulario.
Visible Valor por defecto: True
Propiedad Booleana. Asignándole el valor True
la pantalla es visible, y asignándole el valor False, no
se ve. Este valor puede cambiarse durante el tiempo de
ejecución para ocultar y hacer visible el
formulario.
WidthAncho Valor por defecto: No
existe
Define la anchura del formulario. Normalmente no se
introduce como valor numérico sino que lo toma
automáticamente del tamaño que tenga el
formulario durante el tiempo de diseño. Juntamente con Height
define el tamaño del formulario. Puede cambiarse durante
el tiempo de ejecución.
WindowState
Establece el estado en
el que aparecerá el formulario cuando se activa y
presenta en pantalla. Admite tres opciones:
0 – Normal El formulario recupera la
posición y tamaño que tenía en el tiempo
de diseño.
1 – Minimizado El formulario aparece
minimizado, representado por su icono.
2 – Maximizado El formulario aparece
maximizado, ocupando toda la pantalla.
PROCEDIMIENTOS
ActivateActivación ClickClick
DblClickDoble
click DeactivateDesactivación
DragDropArrastrar y
soltar DragOverArrastrar por encima
GotFocusObtener el foco KeyDown
Mantener pulsada una tecla
KeyPressPulsar una tecla KeyUpSoltar una
tecla
LinkErrorError de
enlace LinkExecuteEjecución de un enlace de
datos
LinkOpenRomper el enlace LoadCargar el
formulario
LostFocusPerder el foco MouseDownPulsar
una tecla del ratón
MouseMoveMover el ratón (Detecta la
posición del ratón sobre el formulario)
MouseUpSoltar una tecla del
ratón PaintPintar
QueryUnloadConfirmación de
descarga ResizeCambio de tamaño
UnloadDescargar el formulario
Un Formulario sirve, fundamentalmente, de contenedor de
controles. Es la ventana de Windows de nuestra aplicación.
Una aplicación puede tener varios Formularios y
dentro de cada uno de ellos, los controles necesarios para cada
paso o estado de la
aplicación.
Un Formulario puede servir también como soporte
de textos o dibujos.
CONTROLES
Una vez introducido un Formulario, se pueden colocar los
objetos (controles) que forman parte de la aplicación.
Estos controles se irán viendo en próximos
capítulos.
Los controles, lo mismo que el Formulario, tienen
Propiedades y Procedimientos.
Las Propiedades definen las características del Control. Los
Procedimientos definen la forma de actuar (la forma de
proceder) de un control frente a un evento.
Tanto las propiedades como los procedimientos
deben ser definidos por el programador. Las propiedades dejan un
pequeño margen de actuación, los procedimientos
son en su totalidad, definidos por el programador. Estos procedimientos
forman parte del programa. Podría incluso hacerse una
aplicación que no tuviese mas código que el
introducido en los procedimientos.
Para colocar un control en un Formulario, basta con
"tomarlo" de la caja de herramientas
existente en la parte izquierda de la pantalla de VB y llevarlo
al Formulario. Si no existiese el control deseado en la caja de
herramientas,
deberemos ir a "cogerlo" a Controles personalizados
que está en el menú desplegable
Herramientas de la barra de Menú de VB. Se
elige el nuevo control, marcando la caja de opción a la
izquierda de su nombre, y haciendo click en ACEPTAR. Este control
ya pasa a la caja de herramientas.
COMMAND BUTTONBOTON DE COMANDO
_______________________________________
El Command Button es un objeto que sirve para introducir
datos a
través de la pantalla. El Botón de Comando tiene la
siguiente forma:
El botón de comando puede usarse para la entrada
de datos con el
ratón, o para validar cualquier operación. El
tamaño puede cambiarse a voluntad, pero la forma siempre
es rectangular. En la figura anterior vemos dos botones de
comando, uno de ellos (el Command2) marcado con unos puntos en su
contorno. Estos puntos nos permiten variar su tamaño en
tiempo de diseño.
También puede cambiarse su tamaño y posición
en tiempo de ejecución.
PROPIEDADES
NameNombre
Es el nombre que define a este objeto durante la
ejecución del programa. No se puede cambiar en tiempo de
ejecución. El nombre por defecto es Command1, Command2,
etc. Estos nombres por defecto deberían cambiarse por
otros que nos indiquen algo respecto a este control, aunque en
este caso no es tan imprescindible como para los formularios.
CaptionTítulo
Es el texto que aparece en el botón. Puede
cambiarse en tiempo de ejecución. No tiene otra
función dentro del programa.
NOTA.- No confundir Nombre (Name) con
Título (Caption)
Appearance Apariencia
Determina la forma del botón. Admite los valores
de Flat (Plano) y 3D. No se aprecia en gran medida la
diferencia.
BackcolorColor de fondo
Es el color de un pequeño cuadrado que aparece
rodeando el título, NO el color del botón, que es
invariable. Puede cambiarse en tiempo de
ejecución.
Cancel
Establece un valor que indica si un botón de
comando es el botón Cancelar de un formulario. Es una
propiedad booleana, y admite los valores
True o False. Puede utilizar la propiedad Cancel para dar al
usuario la opción de cancelar los cambios que no se han
hecho efectivos y devolver el formulario a su estado
anterior. En un formulario sólo puede haber un
botón de comando con la propiedad Cancel =
True.
Default
Establece un valor que determina el control
CommandButton que es el botón de comando predeterminado
de un formulario. Sólo un botón de comando de un
formulario puede ser el botón de comando predeterminado.
Cuando Default se define a True para un botón de
comando, se define automáticamente a False para el resto
de los botones de comando del formulario. Cuando la propiedad
Default del botón de comando está establecida a
True y su formulario primario está activo, el usuario
puede elegir el botón de comando (invocando su evento
Click) presionando ENTRAR. Cualquier otro control que tuviera
el enfoque no recibe evento de teclado
(KeyDown, KeyPress o KeyUp) de la tecla ENTRAR a menos que el
usuario haya movido el enfoque a otro botón de comando
del mismo formulario. En este caso, al presionar ENTRAR se
elige el botón de comando que tiene el enfoque en lugar
del botón de comando predeterminado.
DragIcon
Establece el icono que se presenta como puntero en una
operación de arrastrar y colocar.
DragMode
Establece un valor que determina si se usa el modo de
arrastre manual o
automático en una operación de arrastrar y
colocar. Los valores
posibles de número son:
0 Manual
(Predeterminado)
1 Automático
Enabled Habilitado
Propiedad Booleana que habilita o deshabilita el
botón. Cuando está deshabilitado (Enabled =
False), el botón no tiene efecto, y su apariencia
varía, presentando un tono pálido tanto en su
cuerpo como en su título. Puede variarse en tiempo de
ejecución.
Font Fuente
Es el tipo de letra para el título. Puede
cambiarse en tiempo de ejecución.
Height Altura
Establece la altura del botón. Normalmente esta
propiedad no se introduce numéricamente, sino que la
toma automáticamente de las dimensiones que se le den al
botón en tiempo de diseño. Puede cambiarse,
cambiando el valor a esta propiedad, en tiempo de
ejecución.
HelpContextID
Establece un número de contexto asociado para
este control. Este número se aplica para determinar la
ayuda interactiva.
Puede tener los siguientes valores:
0 = No se especifica número de
contexto
>0 Un entero que especifica un contexto
válido.
Index Indice
En el caso de que se tengan varios botones que
realicen una función similar (Las teclas
numéricas de una calculadora, p.e.) puede hacerse un
array con estos botones de comando. Todos tendrán el
mismo nombre, y se diferencian por un índice. Esta
propiedad Index toma el número de ese
índice.
Left
Posición de su parte izquierda. Indica la
posición del botón, concretamente de la parte
izquierda del mismo. Normalmente esta propiedad no se introduce
numéricamente, sino que la toma automáticamente
de la posición que se le de al botón en tiempo de
diseño. Puede cambiarse, cambiando el valor a esta
propiedad, en tiempo de ejecución.
MouseIconIcono para el puntero del
ratón
Determina el icono que presenta al puntero del
ratón cuando pasa por encima del botón, cuando se
especifica en la propiedad MousePointer que el puntero
del ratón es el definido por el usuario.
(Custom)
MousePointer Puntero ratón
Determina la forma del puntero del ratón cuando
éste pasa por encima del botón. Puede elegirse
uno de los punteros preestablecidos (15) o incluso uno
diseñado especialmente. Para especificar que el puntero
es uno diseñado especialmente, hay que poner a esta
propiedad el valor 99 (Custom), y en este caso aparecerá
el icono determinado por la propiedad
MouseIcon
TabIndex Nº de orden para
tabulador
Cuando disponemos de varios controles en un mismo
formulario, solamente uno de ellos tiene el foco. Esta
expresión de tener el foco significa que ese control
está remarcado y en esa condición, si pulsamos la
tecla ENTER haría el mismo efecto que hacer click con el
ratón en ese control. Esto es necesario, ya que existen
ordenadores que no disponen de ratón (típico de
algunos portátiles). En estos casos, para elegir uno u
otro control debemos pulsar repetidas veces la tecla TABulador.
El foco irá cambiando de uno a otro control (pueden ser
controles de distinto tipo) cada vez que pulsemos la tecla
TABulador. Esta propiedad TabIndex marca el orden
que seguirá el foco a través de cada
control.
TabStopSale del control de la tecla
TAB
Propiedad booleana. Cuando esta propiedad está
a False, el botón no tomará el foco cuando se
pulse la tecla del Tabulador. Sin embargo sigue manteniendo el
índice de la propiedad TabIndex descrita
anteriormente. Puede cambiarse en tiempo de ejecución.
Esto nos permite descartar algún botón de tomar
el foco, cuando por facilidad para el usuario, sea conveniente
en determinados puntos del programa.
Tag
Esta propiedad no la usa directamente Visual-Basic.
Sirve para asociar a este control alguna información adicional para fines externos
a la programación. Similar a la del
formulario.
Top
Indica la coordenada de la parte superior del control.
Puede variarse durante el tiempo de ejecución. Esta
propiedad, juntamente con Left definen la esquina
superior izquierda del botón de comando. Normalmente
esta propiedad no se introduce numéricamente, sino que
la toma automáticamente de la posición que se le
den al botón en tiempo de diseño. Puede
cambiarse, cambiando el valor a esta propiedad, en tiempo de
ejecución.
VisibleVisible
Propiedad Booleana. Si es true, el botón se ve,
si es False el botón no se ve. Puede cambiarse en tiempo
de ejecución. De hecho, es un recurso muy usado para
dejar visibles en un formulario, solamente los objetos
(controles) necesarios.
WhatThisHelpID (Propiedad, Windows
95)
Devuelve o establece un número de contexto
asociado a un objeto. Se utiliza para dotar a las aplicaciones
de Ayuda interactiva con el menú emergente
¿Qué es esto? de la Ayuda de Windows
95.
Width Ancho
Define el ancho del botón. Con Height
determina la dimensión del botón.
PROCEDIMIENTOS DEL BOTON DE COMANDO
Click DragDrop DragOver GotFocus
KeyDown KeyPress KeyUp LostFocus
MouseDown MouseMove MouseUp
¡ El botón de Comando no tiene el
procedimiento
DbClick !
LABEL ETIQUETA
____________________
Una etiqueta es un control que nos permite presentar un
texto. La etiqueta debe usarse en aquellos casos en los que
exista una información estática o
dinámica que no deba ser cambiada por el
operador.
Puede adoptar estas formas: con borde tridimensional,
borde plano o sin borde, y el texto justificado a la izquierda, a
la derecha o centrado.
Se ha incluido la trama para poder observar
los límites de la etiqueta sin borde.
PROPIEDADES
AlignmentJustificación
Establece si el texto se justifica a la izquierda, a
la derecha, o se centra sobre la etiqueta.
Appearance Apariencia Plana o
tridimensional.
AutosizeTamaño
Propiedad booleana. Si se pone a True, el
tamaño de la etiqueta se ajusta al texto que
contiene.
BackcolorColor de fondo
Es el color de fondo de la etiqueta. Puede cambiarse
en tiempo de ejecución.
BackStyle Tipo de fondo
Opaco o transparente. Cuando se selecciona
transparente, se ve solamente el texto de la etiqueta. Cuando
se selecciona opaco, este texto se vé sobre un fondo
gris.
BorderStyleTipo de borde
Sin borde o con borde. En caso de haber elegido en la
propiedad Appearance el modo tridimensional, y eligiendo
con borde en esta propiedad, el aspecto adopta una forma como
incrustada en el formulario.
CaptionTítulo
Es el texto de la etiqueta. Puede cambiarse en tiempo
de ejecución, lo que permite usar la etiqueta como
dispositivo de presentación de textos. No se puede
cambiar por el procedimiento
de arrastrar con el ratón, por lo que es el control
adecuado cuando se quiere presentar un texto que no se pueda
cambiar por el operador.
DataField DataSource
Establecen la base de datos y
el campo donde está el texto Datos que se llevará
a la propiedad Caption. Estas propiedades permiten
presentar los datos de una Base de Datos
mediante un procedimiento
muy sencillo, con la ayuda de un control Data (Se
verá mas adelante)
DragIcon
Establece el icono que se presenta como puntero en una
operación de arrastrar y colocar.
DragMode
Establece un valor que determina si se usa el modo de
arrastre manual o
automático en una operación de arrastrar y
colocar. Los valores
posibles de número son:
0 Manual
(Predeterminado)
1 Automático
Enabled Habilitado
Propiedad Booleana que habilita o deshabilita la
etiqueta Cuando está deshabilitado (Enabled = False), no
tienen efecto los eventos que se
produzcan sobre ella, y su apariencia varía, presentando
un tono pálido tanto en su cuerpo como en su
título. Puede variarse en tiempo de
ejecución.
Font Fuente
Es el tipo de letra para el título. Puede
cambiarse en tiempo de ejecución.
ForeColor
Es el color de la letra de la etiqueta. Puede
cambiarse en tiempo de ejecución.
Height Altura
Establece la altura de la etiqueta. Normalmente esta
propiedad no se introduce numéricamente, sino que la
toma automáticamente de las dimensiones que se le den a
la etiqueta en tiempo de diseño.
Index Indice
En el caso de que se tengan varios etiquetas que
realicen una función similar puede hacerse un array con
etiquetas. Todas tendrán el mismo nombre, y se
diferencian por un índice. Esta propiedad Index
toma el número de ese índice.
Left Posición de su parte
izquierda
Indica la posición de la etiqueta,
concretamente de su parte izquierda. Normalmente esta propiedad
no se introduce numéricamente, sino que la toma
automáticamente de la posición que ocupaba en
tiempo de diseño. Puede cambiarse, cambiando el valor a
esta propiedad, en tiempo de ejecución.
LinkItem LinkMode LinkTimeout
LinkTopic
Estas propiedades establecen la forma en que debe
llevarse a cabo una conexión DDE con otra
aplicación. Se verán con mas detalle al estudiar
los enlaces DDE
MouseIconIcono del puntero del
ratón
MousePointer Puntero ratón
Para estas propiedades es aplicable todo lo dicho para
las mismas en el Botón de Comando
NameNombre
Es el nombre de la etiqueta con el que se le
conocerá a lo largo del programa
TabIndex Nº de orden
Al igual que para los botones de comando, la etiqueta
tiene propiedad TabIndex. Sin embargo, una etiqueta NUNCA
tomará el foco. Vea la propiedad UseMneumonic mas
adelante.
Tag
Esta propiedad no la usa directamente Visual-Basic.
Sirve para asociar a este control alguna información adicional para fines externos
a la programación.
Top
Indica la coordenada de la parte superior del control.
Puede variarse durante el tiempo de ejecución. Esta
propiedad, juntamente con Left definen la esquina
superior izquierda del botón de comando. Normalmente
esta propiedad no se introduce numéricamente, sino que
la toma automáticamente de la posición que se le
den a la etiqueta en tiempo de diseño. Puede cambiarse,
cambiando el valor a esta propiedad, en tiempo de
ejecución.
UseMneumonic
Devuelve o establece un valor que indica si al incluir
el signo (&) en el texto de la propiedad Caption del
control Label se define una tecla de acceso. Es una
propiedad Booleana.
Los valores que puede tomar son True o
False.
True (Predeterminado) Los caracteres (&)
que aparezcan en el texto de la propiedad Caption definen al
carácter siguiente como tecla de acceso. El signo
(&) no aparece en la interfaz del control Label.
False Los caracteres (&) que aparezcan en
el texto de la propiedad Caption aparecen como tales en la
interfaz del control Label.
En tiempo de ejecución, al presionar ALT+ la
tecla de acceso definida en la propiedad Caption del control
Label, el enfoque se desplaza al control siguiente al control
Label en el orden de tabulación.
VisibleVisible
Propiedad Booleana. Si es true, la etiqueta se ve, si
es False no se ve. Puede cambiarse en tiempo de
ejecución.
WhatThisHelpID (Propiedad, Windows
95)
Devuelve o establece un número de contexto
asociado a un objeto. Se utiliza para dotar a las aplicaciones
de Ayuda interactiva con el menú emergente
¿Qué es esto? de la Ayuda de Windows
95.
Width Ancho
Define el ancho de la etiqueta. Con Height
determina la dimensión de la misma.
WordWrap
Devuelve o establece un valor que indica si un control
Label con el valor True en su propiedad AutoSize se expande
vertical u horizontalmente para adaptarse al texto especificado
en su propiedad Caption. Es una propiedad Booleana.
Esta propiedad puede cambiarse en tiempo de
ejecución
True El control Label se expande o contrae
horizontal y verticalmente para adaptarse al texto y al
tamaño de la fuente. Contempla para la expansión
horizontal la colocación de los espacios del
texto.
False (Predeterminado) El texto no se ajusta a
la siguiente línea; el control Label se expande o
contrae horizontalmente para adaptarse a la longitud del texto
y verticalmente para adaptarse al tamaño de la fuente y
al número de líneas.
Nota Si se establece False en AutoSize, el texto
siempre se ajustará a la línea siguiente,
independientemente del tamaño del control Label y del
valor de la propiedad WordWrap. Esto puede ocultar parte del
texto, ya que el control Label no se expande en ninguna
dirección.
PROCEDIMIENTOS DEL LABEL
Click Change DbClick DragDrop
DragOver LinkClose LinkError LinkNotify
TEXT BOXCAJAS DE TEXTO
_____________________________
Las cajas de texto son los controles en los que Visual Basic
presenta o introduce textos. Es por tanto un control
bidireccional. Normalmente se usan para introdución de
textos, o para la presentación de aquellos que el operador
pueda cambiar. Para cambiar o escribir un texto en una caja de
texto, basta con conseguir que esa caja de texto tenga el foco y
teclear el texto en el teclado. Esto
se puede lograr, bien haciendo click con el ratón en esa
caja de texto, bien con la tecla TAB, bien por
programa.
La caja de texto no se debe usar nunca para presentar
textos que el operador de la aplicación no deba cambiar.
Úsese para ello la etiqueta, control no bidireccional, que
además tiene la ventaja de ocupar menos memoria de
programa.
Las cajas de texto pueden tener una o varias
líneas, según esté la propiedad Multiline.
La capacidad máxima de una caja de textos es de 64
Kbytes.
La forma de una caja de texto es la siguiente,
dependiendo de las propiedades BorderStyle y
Appearance:
PROPIEDADES
AlignmentJustificación
Establece si el texto se justifica a la izquierda, a
la derecha, o se centra sobre la etiqueta. Esta propiedad
solamente tiene efecto cuando la propiedad Multiline
está a True, ignorándose en caso contrario. Es
decir, permite colocar el texto justificado a la derecha cuando
ese texto puede ser de varias líneas. Para una
única línea, se justifica siempre a la
izquierda.
Esta propiedad no puede cambiarse en tiempo de
ejecución, pero sí puede leerse en que
condición está.
Appearance Apariencia
Plana o tridimensional.
BackcolorColor de fondo
Es el color de fondo de la caja de texto. Puede
cambiarse en tiempo de ejecución.
BorderStyleTipo de borde
Sin borde o con borde. En caso de haber elegido en la
propiedad Appearance el modo tridimensional, y eligiendo
con borde en esta propiedad, el aspecto adopta una forma como
incrustada en el formulario.
DataField
DataSourceFuente de Datos
Establecen la base de datos y
el campo donde está el texto que se llevará a la
propiedad Text. Estas propiedades permiten presentar de
una forma muy sencilla datos de una Base de Datos.
Se verán cuando se estudie el control Data y el
motor de bases
de datos
DragIcon
Establece el icono que se presenta como puntero en una
operación de arrastrar y colocar.
DragMode
Establece un valor que determina si se usa el modo de
arrastre manual o
automático en una operación de arrastrar y
colocar. Los valores
posibles de número son:
0 Manual (Predeterminado)
1 Automático
Enabled Habilitado
Propiedad Booleana que habilita o deshabilita la
etiqueta Cuando está deshabilitado (Enabled = False), no
tienen efecto los eventos que se
produzcan sobre el TextBox. No se puede escribir el él
ni pasarle el foco, pero sí se le puede cambiar el texto
mediante el programa. Puede ser una buena alternativa para
impedir que el usuario pueda cambiar un determinado texto. Esta
propiedad puede variarse en tiempo de
ejecución.
Font Fuente
Es el tipo de letra que se utilizará en el
TextBox. Puede cambiarse en tiempo de
ejecución.
ForeColorColor de la letra
Determina el color de las letras del texto.
Height Altura
Establece la altura de la caja de texto. Normalmente
esta propiedad no se introduce numéricamente, sino que
la toma automáticamente de las dimensiones que se le den
a la caja en tiempo de diseño.
HelpContextID
Establece un número de contexto asociado para
este control. Este número se aplica para determinar la
ayuda interactiva.
Puede tener los siguientes valores:
0 = No se especifica número de
contexto
>0 Un entero que especifica un contexto
válido.
Index Indice
En el caso de que se tengan varias cajas de texto que
realicen una función similar puede hacerse un array con
ellas. Todas tendrán el mismo nombre, y se diferencian
por un índice. Esta propiedad Index toma el
número de ese índice.
Left Posición de su parte
izquierda.
Indica la posición de la caja de texto,
concretamente de su parte izquierda. Normalmente esta propiedad
no se introduce numéricamente, sino que la toma
automáticamente de la posición que ocupaba en
tiempo de diseño. Puede cambiarse, cambiando el valor a
esta propiedad, en tiempo de ejecución.
LinkItem LinkMode LinkTimeout
LinkTopic
Estas propiedades establecen la forma en que debe
llevarse a cabo una conexión DDE con otra
aplicación. Se verán con mas detalle al estudiar
los enlaces DDE
Locked
Establece si el texto se puede editar, es decir,
cambiar. Cuando se pone esta propiedad a True, el texto
existente en la caja puede resaltarse con el ratón, e
incluso copiarlo al portapapeles, pero no puede variarse
tecleando un nuevo texto. Se puede cambiar por programa,
cambiando la propiedad Text.
Si está en False, puede cambiarse el texto
mediante teclado.
MaxLenght
Indica, si se establece, la longitud máxima del
texto.
MouseIconPuntero del ratón
personalizado
MousePointer Puntero ratón
Determina la forma del puntero del ratón cuando
éste pasa por encima de la caja de texto. Puede elegirse
uno de los punteros preestablecidos en esta propiedad, (15 en
total) e incluso un puntero personalizado en la propiedad
MouseIcon. Para que aparezca este puntero personalizado,
MousePointer debe ponerse al valor 99. Lo típico
para esta propiedad es el I-Beam (barra vertical)
NameNombre
Es el nombre de la caja de texto con el que se le
conocerá a lo largo del programa
PasswordChar
En ocasiones, es conveniente que no se pueda leer lo
que se escribe en la caja de texto, caso por ejemplo de la
entrada de un password o palabra de paso. Esta propiedad nos
permite indicar un carácter que sustituye a cualquier
carácter que tenga la caja de texto. (Típicos el
* o ?). El texto que tenga en la propiedad Text no
cambia por el hecho de presentar en pantalla un carácter
distinto. Esta propiedad puede cambiarse en tiempo de
ejecución. Para quitar el PasswordChar basta con
forzarlo al carácter nulo :
Text1.PasswordChar = ""
Esta propiedad se ignora cuando la propiedad
Multiline está a True.
ScrollBars
Cuando la propiedad Multiline de la caja de
texto está a True, se pueden colocar barras de
desplazamiento del texto hacia arriba y abajo, o hacia los
lados. Esto nos permite tener una caja de texto de
tamaño reducido y poder leer
en ella un texto mayor que la propia caja. Esta propiedad puede
tomar los siguiente valores :
0 – No salen barras
1 – Barras de desplazamiento horizontal
2 – Barras de desplazamiento vertical
3 – Ambas barras.
TabIndex Nº de orden para obtener el
foco
Al igual que para los botones de comando, esta
propiedad para tabulador marca el orden
en el que le llegará el foco al pulsar la tecla
TAB
Tag
Esta propiedad no la usa directamente Visual Basic.
Sirve para asociar a este control alguna información adicional para fines externos
a la programación.
Top
Indica la coordenada de la parte superior del control.
Puede variarse durante el tiempo de ejecución. Esta
propiedad, juntamente con Left definen la esquina
superior izquierda de la caja de texto. Normalmente esta
propiedad no se introduce numéricamente, sino que la
toma automáticamente de la posición que se le de
en tiempo de diseño. Puede cambiarse, cambiando el valor
a esta propiedad, en tiempo de ejecución.
VisibleVisible
Propiedad Booleana. Si es true, la caja de texto se
ve, si es False no se ve. Puede cambiarse en tiempo de
ejecución.
WhatThisHelpID (Propiedad, Windows
95)
Devuelve o establece un número de contexto
asociado a un objeto. Se utiliza para dotar a las aplicaciones
de Ayuda interactiva con el menú emergente
¿Qué es esto? de la Ayuda de Windows
95.
Width Ancho
Define el ancho de la caja de texto. Con Height
determina la dimensión de la misma.
PROCEDIMIENTOS DE LA CAJA DE TEXTO
Click Change DblClick DragDrop DragOver GotFocus
KeyDown KeyPress KeyUp LinkClose
FRAME RECUADRO
Se obtiene directamente de la caja de
herramientas
Tiene la siguiente forma :
Un control Frame proporciona un agrupamiento
identificable para controles. También puede utilizar un
Frame para subdividir un formulario funcionalmente por ejemplo,
para separar grupos de
controles OptionButton.
Para agrupar controles, en primer lugar trace el control
Frame y, a continuación, meta los controles dentro de
Frame. De este modo podrá mover al mismo tiempo el Frame y
los controles que contiene. Si traza un control fuera del Frame
y, a continuación, intenta moverlo dentro de éste,
el control se colocará sobre el Frame, pero no
pertenecerá a el. Es decir, si es un OptionButton este se
comportará como si estuviese fuera del Frame, aunque
físicamente esté dentro de el.
Cuando un control Frame tiene dentro otros controles, y
hacemos invisible al Frame, mediante su propiedad Visible =
False, los controles interiores al Frame quedan también
invisibles.
PROPIEDADES
Las señaladas con (*) no presentan novedades
respecto a las ya comentadas para los controles
precedentes.
Appearance (*)
Backcolor (*)
CaptionEs el título que aparece en el
borde del Frame.
ClipControls
Si esta propiedad está a True, los
métodos
gráficos en eventos
Paint
vuelven a dibujar el objeto entero. Antes del evento Paint se crea
una zona de recorte alrededor de los controles no
gráficos del formulario. Si esta propiedad está a
False dibujarán solamente las áreas
últimamente expuestas. En tiempo de ejecución,
esta propiedad es de sólo lectura.
DragIcon(*)
DragMode(*)
Enabled
Cuando esta propiedad está a False,
tanto los procedimientos asociados al propio control Frame como
todos los controles dentro del Frame estarán
inhabilitados. Si esta propiedad está a True,
todos ellos están habilitados.
Font
En esta propiedad, el tipo de letra afecta solamente
al título del Frame, no a los controles internos a
el.
ForeColor
Color de las letras del título del
Frame.
Height(*)
HelpContextID(*)
Index(*)
Left(*)
MouseIcon(*)
MousePointer(*)
Name(*)
TabIndex(*)
Tag(*)
Top(*)
Visible
Cuando un Frame está con la propiedad
Visible = False, tanto el propio Frame como todos
los controles interiores a el serán
invisibles.
WhatsThisHelpID(*)
Width(*)
PROCEDIMIENTOS DEL FRAME
Click DblClick DragDrop DragOver MouseDown
MouseMove MouseUp
CHECK BUTTON Y OPTION BUTTON (BOTONES DE ELECCION
Y OPCION)
Se obtienen directamente de la caja de herramientas.
Dada la similitud de ambos controles, se comentan
conjuntamente.
El control CheckBox, o casilla de
verificación, permite elegir una opción
(activada/desactivada, True/False) que el usuario puede
establecer o anular haciendo click. Una X en una casilla de
verificación indica que está seleccionada,
activada, o con valor True. Cada casilla de verificación
es independiente de las demás que puedan existir en el
formulario, pudiendo tomar cada una de ellas el valor True o
False, a voluntad del operador.
Un control OptionButton muestra una
opción que se puede activar o desactivar, pero con
dependencia del estado de
otros controles OptionButton que existan en el
formulario.
Generalmente, los controles OptionButton se
utilizan en un grupo de
opciones para mostrar opciones de las cuales el usuario
sólo puede seleccionar una. Los controles
OptionButton se agrupan dibujándolos dentro de un
contenedor como un control Frame, un control
PictureBox o un formulario. Para agrupar controles
OptionButton en un Frame o PictureBox,
dibuje en primer lugar el Frame o PictureBox y, a
continuación, dibuje dentro los controles
OptionButton. Todos los controles OptionButton que
están dentro del mismo contenedor actúan como un
solo grupo, e
independientes de los controles OptionButton de otros
grupos
distintos.
Aunque puede parecer que los controles
OptionButton y CheckBox funcionan de forma similar,
hay una diferencia importante: Cuando un usuario selecciona un
OptionButton, los otros controles del mismo grupo
OptionButton dejan de estas disponibles
automáticamente. Por contraste, se puede seleccionar
cualquier número de controles CheckBox.
En el ejemplo de la figura, existen tres grupos de
OptionButton, uno en un PictureBox, que
actúa, al tiempo que como cuadro de imagen, como
contenedor de controles OptionButton. Otro grupo
está en el interior de un control Frame, y el otro
grupo está en el formulario. Los tres grupos son
independientes entre sí, pero interiormente al grupo
solamente puede seleccionarse uno de los OptionButton que
lo componen.
En el formulario también existen tres
CheckBox, que como puede verse, se pueden seleccionar los
que se desee, sin ningún tipo de exclusión entre
ellos.
PROPIEDADES
Las señaladas con (*) son comunes a ambos
controles y no presentan novedades respecto a las ya comentadas
para los controles precedentes.
AlignmentComún a ambos
controles.
Admite los siguientes valores :
0 – Left Justify
1 – Right Justify
Cuando se elige el valor 0, justificado a la izquierda,
el título del control aparece a la derecha del
botón, pegado a la figura del botón. Cuando se
elige el valor 1, justificado a la derecha, el título
(Caption) aparece a la izquierda del botón, comenzando en
la parte izquierda del cuerpo total del control, es decir, no
tiene porqué aparecer con su parte derecha pegado al
botón, caso que el cuerpo total del control se haya hecho
mas largo que la palabra del título.
Appearance (*)
Backcolor (*)
Caption(*).
DataField DataSource Propiedades del
CheckBox solamente.
Establecen la base de datos y
el campo donde están los datos (True / False) que se
llevarán a la propiedad Value . Al igual que en
los controles Label y TextBox esta propiedad nos
permite visualizar datos de una base de datos
de una forma muy sencilla. En este caso, el CheckBox
solamente permite presentar (logicamente) datos de tipo
Booleano.
DragIcon(*)
DragMode(*)
Enabled(*)
Font(*)
ForeColor(*)
HeightComún a ambos controles.
La altura del control solamente afecta a la
colocación del Titulo (Puede ponerse un título
largo en varias líneas), no al tamaño del
botón, que es invariable.
HelpContextID(*)
Index(*)
Left(*)
MouseIcon(*)
MousePointer(*)
Name(*)
TabIndex(*)
TabStop (*)
Tag(*)
Top(*)
Value Común a ambos controles
El valor de esta propiedad indica si el control
está seleccionado (Value = 1) o no seleccionado (Value =
0 ó Value = False). Esta propiedad puede cambiarse en
tiempo de ejecución. Mediante esta propiedad, podemos
tanto forzar el valor como leerlo.
Atención. Presenta una diferencia entre
uno y otro control respecto a la forma de expresarse respecto a
su valor cuando está seleccionado. Para forzar que el
control NO esté seleccionado, o para leer el
Value cuando no está seleccionado, podemos
utilizar tanto Value = 0 como Value = False. Sin
embargo, cuando lo que se quiere es poner la propiedad a
True hay una diferencia entre ambos
controles.
Para el OptionButton podemos utilizar
indistintamente las siguiente formas :
Option1.Value = True Option1.Value = 1
Con cualquiera de ellas seleccionaremos ese control
por programa.
Para el CheckBox solamente se podrá usar
para este propósito la
instrucción :
Check1.value = 1
El poner como Value el valor True nos dará en
este control un error.
Para la lectura
del Value, existe una diferencia entre el valor devuelto por el
CheckBox y el devuelto por el
OptionButton.
Para leer el dato existente en un CheckBox es
necesario utilizar la forma :
variable = Check1.Value donde variable
tomará el valor 1 (no True)
Para el control OptionButton emplearemos una
instrucción igual :
variable = Option1.Value donde variable
tomará el valor True (no 1)
Visible(*)
WhatsThisHelpID(*)
Width(*)
PROCEDIMIENTOS
Click DblClick (Solo
OptionButton) DragDrop DragOver GotFocus
KeyDown KeyPress KeyUp LostFocus
LIST BOX Y COMBO BOX
Estos dos controles, debido a su similitud, se estudian
conjuntamente.
Se obtienen directamente de la caja de herramientas :
Un control ListBox muestra una lista de elementos
en la que el usuario puede seleccionar uno o más. Si el
número de elementos supera el número que puede
mostrarse, se agregará automáticamente una barra de
desplazamiento al control ListBox.
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
y seleccionar un elemento en la parte de cuadro de lista del
control. En resumen, un ComboBox es la combinación
de un ListBox, que se comporta como si de un
ListBox se tratase, y de un TextBox, con comportamiento
análogo a un TextBox sencillo, con la
particularidad aquí de que el texto se le puede introducir
por teclado, o
elegir uno de los que figuran en la parte ListBox del
Combo.
Estos controles toman la siguiente
forma :
Puede verse en la figura un ejemplo de
presentación de un ListBox (izquierda), un
ComboBox con la lista desplegada (Centro) y un
ComboBox con la lista sin desplegar (Combo2 a la
derecha).
La lista tiene varios elementos. Cada línea de
esta lísta es un elemento de la lista. Como el
número de elementos de la lista tiene mas elementos de los
que le podían caber, generó automáticamente
la barra de desplazamiento vertical.
El ComboBox está normalmente sin
desplegar. Se despliega cuando se hace click con el ratón
en la flecha que tiene en su parte derecha (véase fig.
Anterior). Al desplegarse, muestra la lista con todos sus
elementos. Haciendo click con el ratón en cualquiera de
sus elementos, el elemento elegido pasa a la parte TextBox del
Combo y la lista vuelve a replegar.
El ListBox (y por tanto el ComboBox) tiene
unas propiedades y métodos
particulares que solamente se pueden aplicar durante el tiempo de
ejecución :
ListCount – Indica el número de elementos
que tiene la lista
ListIndex – Indica el número de orden del
elemento seleccionado dentro de la lista.
AddItem – Añade un elemento a la
lista.
RemoveItem – Elimina un elemento de la
lista.
Text – Obtiene el elemento
seleccionado.
List (n) – Obtiene el elemento cuyo orden
dentro de la lista es n.
ListCount valdrá 0 si la lista no tiene
ningún elemento, y n si tiene n elementos.
Para seleccionar un elemento de la lista, basta con
hacer click con el ratón sobre él. Ese elemento se
resaltará con fondo en azul. Una vez seleccionado un
elemento, la propiedad ListIndex tomará el valor
del número de orden que ocupa ese elemento en la lista,
comenzando por el 0 para el elemento que ocupa el primer lugar.
Si no se selecciona ningún elemento, el valor de la
propiedad ListIndex será -1. El primer elemento de
la lista es ListIndex 0, y el valor de la propiedad
ListCount siempre es uno más que el valor mayor de
ListIndex.
En el ComboBox la propiedad Text contiene
el texto que contenga la parte TextBox del Combo, bien
haya sido introducida desde teclado o
mediante la recuperación de un elemento la parte
ListBox del mismo.
Ejemplos
Supongamos que tenemos un ListBox llamado List1,
y un ComboBox llamado Combo1. Se enumeran distintas formas
de obtener información de ellos.
Variable = List1.Listcount
Variable contendrá un
número con el número total de elementos
de la lista List1.
Variable = List1.ListIndex
Variable contendrá un
número con el número de orden del elemento
de la lista seleccionado en ese momento.
List1.AddItem "ELEMENTO NUEVO"
Añade un elemento a List1. En este caso, el
elemento añadido es la palabra ELEMENTO
NUEVO.
Variable = "VISUALBASIC"
List1.AddItem Variable
Añade un elemento a List1. En este caso, el
elemento añadido es la palabra VISUALBASIC.
Variable = List1.Text
Variable contendrá el elemento que
estaba seleccionado en List1. (Variable será una
cadena de caracteres)
Variable = List1.List (n)
Variable contendrá el elemento que ocupa
el número de orden n dentro de la lista.
Variable = List1.List
(List1.ListIndex)
Variable contendrá el elemento que
estaba seleccionado en List1. Se ha utilizado la propiedad List
para obtener el elemento, y en vez de introducir un
número para definir el elemento que se desea, se
introdujo el valor ListIndex de List1, que es concretamente, el
número de orden del elemento seleccionado en ese
momento. Observe que poner List1.List (List1.ListIndex) es
idéntico a poner List1.Text.
List1.RemoveItem (n)
Elimina el elemento n de List1.
List1.RemoveItem (List1.ListIndex)
Elimina el elemento que estaba seleccionado en ese
momento.
List1.listIndex = n
Selecciona el elemento n de List1 (Se resalta en azul
el elemento n)
PROPIEDADES DE ListBox y de ComboBox
Las señaladas con (*) son comunes a ambos
controles y no presentan novedades respecto a las ya comentadas
para los controles precedentes.
Appearance (*)
Backcolor (*)
ColumnsPropiedad de ListBox solamente.
Determina si los elementos se presentan en una sola
columna o en varias columnas, y la forma de presentar los
elementos en el ListBox. Si esta propiedad se pone a 0 la lista
tendrá solamente una columna, y presentará los
elementos uno debajo de otro. Cuando los elementos sean mas que
los que se pueden presentar en la lista, aparecen
automáticamente unas barras de desplazamiento
vertical.
Si la propiedad se pone a un número distinto a 0,
el ListBox es de tipo multicolumna, presentará en
cada columna los elementos que le quepan dependiendo de su
dimensión vertical, y tendrá tantas columnas como
sea necesario para albergar el número de elementos que
tenga. Presentará en su cuadro tantas columnas como se le
indique en el valor de esta propiedad, y si no puede presentar
todos los elementos en las columnas que muestra, le
aparecerán barras de desplazamiento horizontales para
poder movernos
por todas las columnas que tenga.
Recuerde : El número que se le asigna
a la propiedad Columns no indica el número de
columnas que tendrá el ListBox sino el
número de columnas que presenta.
Esta propiedad puede asignarse en diseño,
mediante la caja de propiedades, o en tiempo de ejecución
mediante una instrucción como esta :
Nombrelista.Columns = número
.
Esta propiedad no puede definirse a 0 o cambiada desde 0
en tiempo de ejecuciones decir, no se puede convertir en tiempo
de ejecución un ListBox de múltiples columnas en un
ListBox de columna única o un ListBox de columna
única en un ListBox de múltiples columnas. Sin
embargo, sí es posible cambiar durante la ejecución
el número de columnas de un ListBox de múltiples
columnas.
DataField DataSource .
Establecen la base de datos y
el campo donde están los datos que se llevarán al
TextBox o ComboBox para presentar datos procedentes de una
Base de
Datos.
DragIcon(*)
DragMode(*)
Enabled(*)
Font(*)
ForeColor(*)
Height(*)
HelpContextID(*)
Index(*)
IntegralHeight No aplicable a ListBox o
ComboBox
ItemDataPropiedad muy importante.
Devuelve o establece un número específico
para cada elemento de un control ComboBox o ListBox.
Sintaxis
objeto.ItemData(índice) [=
número]
La sintaxis de la propiedad ItemData tiene las
siguientes partes:
objeto Nombre del ListBox o ComboBox.
índice El número de un elemento concreto del
objeto.
número El número que se asocia con el
elemento especificado.
Comentarios
La propiedad ItemData es una matriz de
valores enteros largos cuyo número de elementos es el
valor de la propiedad ListCount del control. Los números
asociados con cada elemento se pueden usar para cualquier fin.
Por ejemplo, se puede usar en la confección de una lista
de teléfonos, el número de identificación de
un empleado, etc. Cuando se rellena el ListBox, también se
rellena los elementos correspondientes de la matriz
ItemData con los números correspondientes.
La propiedad ItemData se usa a menudo como índice
de una matriz de
estructuras de
datos asociados con los elementos de un control
ListBox.
Nota Cuando se inserta un elemento en una lista con el
método
AddItem, el elemento también se inserta
automáticamente en la matriz
ItemData. Sin embargo, el valor no se reinicializa a cero;
retiene el valor que estaba en esa posición antes agregar
el elemento a la lista. Cuando se usa la propiedad ItemData,
asegúrese de establecer su valor al agregar nuevos
elementos a la lista.
Left(*)
List Es el contenido de la lista.
Si la lista de elementos es corta e invariable, pueden
introducirse los elementos en el cuadro de propiedades durante el
diseño.
MouseIcon(*)
MousePointer(*)
Name(*)
Sorted
Establece o devuelve un valor que indica si los
elementos de un ListBox o ComboBox se colocan
automáticamente en orden alfabético.
Los valores
que puede adoptar son True o False.
TrueLos elementos de la lista se ordenan
alfabéticamente (sin distinguir entre mayúsculas
y minúsculas).
False(Predeterminado) Los elementos de la lista
no se ordenan alfabéticamente.
Cuando esta propiedad tiene el valor True, Visual Basic se
encarga de casi todo el procesamiento de cadenas necesario para
mantener el orden alfabético, incluyendo el cambio de
los números de índice cuando se agregan o
eliminan elementos.
Nota El uso del método
AddItem para agregar un elemento en una posición
específica de la lista puede romper el orden
alfabético, y los elementos agregados con posterioridad
pueden no ordenarse correctamente.
TabIndex(*)
TabStop (*)
Tag(*)
Top(*)
Visible(*)
WhatsThisHelpID(*)
Width(*)
PROCEDIMIENTOS
Click Change (Solo
ComboBox) DblClick DragDrop DragOver
DropDown (Solo ComboBox) GotFocus KeyDown
KeyPress
KeyUp LostFocus MouseDown (Solo
ListBox) MouseMove (Solo ListBox)
MouseUp (Solo ListBox)
NOTA MUY IMPORTANTE
El procedimiento
Change del ComboBox solamente se efectúa
cuando el cambio se
produce mediante la entrada de un texto DESDE EL TECLADO,
no por un cambio en la
parte Text de este control, producido al llevar un elemento desde
la parte List a la parte Text.
CONTROLES HScrollBar y
VScrollBar
Son dos controles similares, para introducir un dato
cuasi-analógico en una aplicación. Se toman
directamente de la caja de herramientas, y tienen un aspecto
parecido al de un control de volumen de un
equipo de música. El HScrollBar
está en posición horizontal, y el VScrollBar en
posición vertical.
Mediante estos controles se pueden introducir datos
variando la posición del cursor.
PROPIEDADES de HScrollBar y
VScrollBar
Las señaladas con (*) son comunes a ambos
controles y no presentan novedades respecto a las ya comentadas
para los controles precedentes.
DragIcon(*)
DragMode(*)
Enabled(*)
Height (*)
HelpContextID(*)
Index(*)
LargeChange
Esta propiedad establece la variación de la
propiedad Value cada vez que se hace click en el
interior de la barra de desplazamiento, en la parte por donde
pasa el cursor.
Left(*)
Max
Esta propiedad establece el valor máximo para
la propiedad Value, es decir, el valor de esta propiedad
cuando el cursor está en su parte máxima.
(Recuerde que el cursor está en el máximo, cuando
está mas a la derecha, caso del HScrollBar, o cuando
está en la parte mas baja, caso del
HScrollBar.
Min
Esta propiedad establece el valor mínimo para
la propiedad Value, es decir, el valor de esta propiedad
cuando el cursor está en su parte mínima.
(Recuerde que el cursor está en el mínimo, cuando
está mas a la izquierda, caso del HScrollBar, o cuando
está en la parte mas alta, caso del
HScrollBar.
MouseIcon(*)
MousePointer(*)
Name(*)
SmallChange
Esta propiedad establece la variación de la
propiedad Value cada vez que se hace click en las
flechas superior o inferior de la barra de
desplazamiento.
TabIndex(*)
TabStop (*)
Tag(*)
Top(*)
Value
Esta propiedad lee o establece el valor dado por la
posición del cursor. Este valor tiene un mínimo,
establecido por Min y un máximo, establecido por
Max. Esta propiedad es la que se debe leer para conocer
la posición del cursor.
Visible(*)
WhatsThisHelpID(*)
Width(*)
PROCEDIMIENTOS DE HScrollBar y
VScrollBar
Change DragDrop DragOver GotFocus KeyDown KeyPress
KeyUp LostFocus Scroll
Comentario El Procedimiento
Change se produce cuando, tras mover el cursor, se suelta
el botón del ratón. Esto produce el efecto de que
el cambio que se
tenga que producir con el movimiento del
cursor no se realiza de una manera continua. El procedimiento
Scroll se realiza en el instante que se está
moviendo el cursor. Por lo tanto, es este procedimiento el que se
debe usar para conseguir el efecto de un cambio
continuo mientras se está moviendo el cursor.
TIMER TEMPORIZADOR
Este objeto permite establecer temporizaciones. Presenta
una novedad respecto a los controles estudiados hasta ahora. El
control Timer solamente se ve durante el tiempo de
diseño. En tiempo de ejecución, el control
permanece invisible.
La temporización producida por el Timer es
independiente de la velocidad de
trabajo del ordenador. (Casi independiente. El timer no es un
reloj exacto, pero se le parece)
Se toma directamente de la caja de herramientas, y tiene
el aspecto siguiente :
PROPIEDADES
Enabled (*)
Index (*)
Interval
El valor de esta propiedad nos dará el intervalo
de tiempo (en milisegundos) en que se producirá un evento
Timer y consecuentemente, realizará el
procedimiento asociado a este evento. Si el valor de la propiedad
Interval está a 0 (Predeterminado), no se produce
el evento Timer. (El control Timer está
deshabilitado cuando se pone la propiedad Interval =
0)
Left (*)
Name (*)
Tag (*)
Top (*)
PROCEDIMIENTOS
Timer
Se produce cada vez que se cumple un intervalo
completo.
SHAPE
Se toma directamente de la caja de
herramientas :
Shape es un control gráfico que se muestra como
un rectángulo, un cuadrado, una elipse, un círculo,
un rectángulo redondeado o un cuadrado
redondeado.
Utilice controles Shape en tiempo de diseño en
lugar o además de invocar los métodos
Circle y Line en tiempo de ejecución. Puede dibujar un
control Shape en un contenedor, pero no puede actuar como
contenedor. (Esto quiere decir que un control Shape nunca
le servirá, por ejemplo, para albergar varios
OptionButton y pretender que sean independientes de otros
controles OptionButton que se encuentren fuera del control
Shape.
Este control no tiene Procedimientos. En realidad,
solamente sirve para mostrar un determinado gráfico,
envolver gráficamente a otros controles, pero no tiene
ninguna aplicación en cuanto a programa. Es un "adorno"
para sus aplicaciones.
PROPIEDADES
Backcolor (*)
BackStyle
Esta propiedad establece si Shape permite ver a
su través (Transparent) o n lo permite
(Opaque)
BorderColor
Establece el color del borde.
BorderStyle
Establece el tipo de borde. Puede ser :
Transparent, (No se ve el borde), Solid, (Borde de línea
continua),Dash, (línea a rayas), Dot, (línea a
puntos), Dash-Dot, (línea de raya – punto),
dash-Dot-Dot, (línea de raya – punto – punto),
InsideSolid, (raya continua)
El efecto de establecer la propiedad BorderStyle
depende del valor de la propiedad BorderWidth. Si BorderWidth
no es 1 y BorderStyle no es 0 o 6, BorderStyle se establece
como 1.
BorderWidth
Establece el ancho de la línea.
DrawMode (*)
FillColor (*)
FillStyle(*)
Height (*)
Index (*)
Left (*)
Name (*)
Shape
Establece la forma del control. Puede ser :
Rectangular, cuadrado, redondo, ovalado, cuadrado con esquinas
redondeadas y rectangular con esquinas redondeadas.
Tag (*)
Top (*)
Visible (*)
Width (*)
PROCEDIMIENTOS No tiene.
.LINE
Se toma directamente de la caja de
herramientas
Line, al igual que Shape, es un control gráfico
que solamente sirve para poner una línea en un formulario.
Del mismo modo, no tiene procedimientos, por lo que no sirve para
aportar código al programa. Solo sirve para aportar una
característica gráfica, es un
adorno.
PROPIEDADES
BorderColor
Establece el color de la línea.
BorderStyle
Establece el tipo de línea : Puede
ser : Transparent, (No se ve la línea), Solid,
(Línea continua),Dash, (línea a rayas), Dot,
(línea a puntos), Dash-Dot, (línea de raya –
punto), dash-Dot-Dot, (línea de raya – punto – punto),
InsideSolid, (raya continua)
BorderWidth
Establece el ancho de la línea.
DrawMode (*)
Index (*)
Left (*)
Name (*)
Tag (*)
Visible (*)
X1, X2 Establece las coordenadas x del inicio y
final.
Y1, Y2 Establece las coordenadas y del inicio y
final
PROCEDIMIENTOS No tiene.
CONTROL GAUGE
Este control presenta una información numérica de forma
gráfica, bien como un display lineal (típico por
ejemplo en ecualizadores de audio ), o como una aguja. No
está normalmente en la caja de herramientas, por lo que
hay que traerla desde los Controles Personalizados (Menú
desplegable de Herramientas). Se denomina MicroHelp Gauge
Control. El archivo que lo
contiene se denomina GAUGE16.OCX, (Ver. 16 bits) GAUGE32.OCX
(Ver. 32 bits)
Mediante este control, podemos presentar una magnitud
numérica de una forma cuasi-analógica.
Podríamos decir que es un control similar al
HScrollBar, que en vez de meter información a la aplicación, la
presenta.
Este control puede servir, por ejemplo, para presentar
el tanto por ciento de ejecución de una tarea, como
elemento tranquilizante. Puede presentar el nivel de un
depósito de agua,
etc.
Presenta las dos formas siguientes :
En la figura puede verse un Gauge de aguja, uno de barra
horizontal y otro de barra vertical. Para mejorar la
presentación, el Gauge permite poner un gráfico
como fondo, cambiar el color de la barra, color de fondo,
etc.
El control Gauge crea medidores definidos por el
usuario, que puede elegir entre los estilos lineales (relleno) o
de aguja.
Nota para la distribución Cuando cree y distribuya
aplicaciones con controles Gauge, tendrá que instalar el
archivo
apropiado en el subdirectorio SYSTEM de Windows del cliente. El Kit
para instalación que incluye Visual Basic, le
proporciona herramientas para escribir los programas que
instalan las aplicaciones correctamente.
PROPIEDADES
Autosize, Backcolor, DragIcon, DragMode, Enabled,
ForeColor, Height, HelpContextID,
Index, InnerBottom, InnerLeft, InnerRight,
InnerTop, Left, Max, Min, MouseIcon, MousePointer, Name,
NeedleWidth, Picture, Style, TabIndex, Tabstop, Tag, Top, Value,
Visible, WhatsThisHelpID, Width.
Son destacables por nuevas o particulares, las
siguientes propiedades :
ForeColor Color de la barra
InnerBottom Distancia entre la parte baja del
control y el comienzo de la barra o aguja.
InnerLeft, InnerRight, InnerTop. Idéntico
al anterior, respecto a otros lados.
Max Valor de la propiedad Value a fondo de
escala
Min Valor de la propiedad Value para
indicación cero.
NeedleWidth Ancho de la aguja
Style Tipo de marcador. Puede tomar los
siguientes valores :
0 = de barra, horizontal.
1 = de barra, vertical.
2 = de aguja, de 180 grados
3 = de aguja, de 360 grados.
Value
Valor numérico a presentar. Debe ser igual o
menor que la propiedad Max, e igual o mayor que la propiedad
Min.
PROCEDIMIENTOS
Change DblClick DragDrop DragOver GotFocus KeyDown
KeyPress KeyUp LostFocus MouseDown MouseMove MouseUp
Guía de Visual Basic:
Primera Parte – – Tercera Parte – Bajar
Trabajo
Página anterior | Volver al principio del trabajo | Página siguiente |