Sei sulla pagina 1di 42

Visual Basic - Gua del Estudiante Cap.

2
OBJETOS VISUAL BASIC

PROPIEDADES, PROCEDIMIENTOS Y METODOS

Vamos a ver en este captulo como podemos realizar una aplicacin en Visual Basic.
Comencemos por abajo.
Una aplicacin VB es una aplicacin que, generalmente, tiene una interface grfica. Es decir, es
una aplicacin de las tpicas de Windows. Y esa interface grfica est formada por un formulario y
dentro de l, controles. Tanto al formulario como a los controles les denominamos genricamente
Objetos. Hay objetos VB que no los podemos ver en la interface grfica. No podemos verlos
porque pese a que son objetos VB, no tienen ninguna representacin en la ventana. Son por
ejemplo, los objetos de acceso a datos que veremos profusamente ms adelante.
Todos los objetos de Visual Basic tienen Propiedades. (Por ejemplo, el nombre de ese objeto es
una de sus propiedades). Los objetos que tienen parte grfica tienen adems Eventos. Y muchos
de ellos tienen tambin Mtodos

Propiedades, Eventos, Procedimientos y Mtodos


Tpica pregunta de examen de VB elemental. Veamos que es cada una de estas cosas.
Las propiedades son aquellas caractersticas de un objeto que lo define "fsicamente", bien por su
forma o color, por su contenido, por la forma en la que va a trabajar Las propiedades pueden
modificarse cuando estamos diseando la interface grfica, mediante lo que llamamos caja de
propiedades, o durante la ejecucin del programa. En este caso hay que hacerlo con cdigo
escrito en el propio programa. Veamos ya dos definiciones que se repetirn profusamente a lo
largo del curso
-

Tiempo de diseo. Es cuando realizamos una operacin durante el diseo. Por ejemplo,
podemos cambiar el color de un control durante el diseo de la aplicacin, accediendo a su
propiedad BackColor en la caja de propiedades.
Tiempo de ejecucin. Es cuando esa operacin se realiza durante la ejecucin del
programa. Si tenemos una lnea de cdigo como esta
MiControl.BackColor =RGB(255,0,0)

al ejecutarse esa lnea, se cambiar el color del control de nombre MiControl. Hemos cambiado la
propiedad BackColor de ese control en tiempo de ejecucin.
Las propiedades pueden ser de lectura y escritura, (se puede cambiar y se puede leer el valor de
la propiedad), slo de lectura (solamente se puede leer el valor de la propiedad) solo de escritura
(hay muy pocas de este tipo). Puede que una propiedad, que es de lectura y escritura en tiempo
de diseo, sea slo de lectura en tiempo de ejecucin (esto es lo que le pasa por ejemplo, a la
propiedad Name - Nombre)
Un evento es todo aquello que le puede ocurrir a un objeto con parte grfica (Control o
Formulario) Por ejemplo, es un evento el hecho de hacer click sobre ese control, el hecho de
pasar el ratn por encima de l, el hecho de que un control cambie de tamao. Los controles
tienen muchos eventos, unos de ellos comunes a casi todos los controles (Evento click, por
ejemplo) y otros exclusivos de un determinado control (El evento Timer solamente lo tiene el
control Timer) Puede ver los eventos de un control haciendo doble click sobre ese control en
tiempo de diseo. Le aparecer la ventana de cdigo.

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 1

Fig. 2.1 Ventana de cdigo


La ventana de cdigo es el lugar donde deber escribir el cdigo de su aplicacin. Puede ver que
existen en ella dos listas desplegables, una a la izquierda (sin desplegar) donde se ve el nombre
del control del cual estamos visualizando el cdigo (en este caso Command1) y otra a la derecha,
donde se despliegan todos los eventos que tiene ese control. Haciendo click en la lnea de uno de
esos eventos, aparecer la ventana de cdigo dedicada a ese evento.
Nota. Fjese en la parte inferior izquierda de la ventana de cdigo. Hay dos botones, uno que
permite visualizar el cdigo correspondiente a un solo evento, (el de ms a la izquierda) y otro que
permiten ver en la misma ventana el cdigo de todos los eventos. Cada programador tiene su
costumbre para ver uno o todos. La prctica le dir lo que es ms prctico para Vd.
Un Procedimiento es el cdigo que introducimos dentro de un evento. No pretendo hacer escuela
con definiciones, puesto que el concepto de evento y procedimiento se confunde con mucha
frecuencia, y no pasa nada por ello. El cdigo introducido en la ventana de cdigo del evento click
ser el procedimiento click, el que se introduzca en el evento MouseUp ser el procedimiento
MouseUp. No se sorprenda si a lo largo de este libro nos referimos a evento o a procedimiento de
forma equivocada. En el lenguaje coloquial es muy habitual ese error y como decamos, no pasa
nada por ello.
Estos procedimientos forman parte del programa. Podra hacerse una aplicacin que no tuviese
mas cdigo que el introducido en los procedimientos, y muchas veces esa es la realidad.
Un procedimiento puede pasar parmetros. Se dice que pasa parmetros cuando el sistema
aporta datos automticamente al procedimiento. Por ejemplo, el procedimiento MouseUp, que se
ejecuta cuando levantamos el botn del ratn (tambin existe el evento MouseDown), pasa los
siguientes parmetros: Nmero del botn que se ha pulsado, (1=Izdo, 2=Dcho, 3=Central), si est
pulsada la tecla maysculas (Shift, 1 si est pulsada, 0 si no est pulsada) y los valores X e Y de la
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 2

posicin del cursor del ratn. Podemos ver los parmetros que pasa en la propia definicin del
procedimiento, que nos da Visual Basic
Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
End Sub
Observe que los parmetros estn entre parntesis, y que queda definido el tipo de variable que
es cada uno de ellos. Podemos usar ese valor dentro del cdigo del procedimiento como un dato
ms.
Un Mtodo es una operacin que la realiza Visual Basic sin necesidad de escribir cdigo para
realizarla. Por ejemplo, si queremos dibujar una lnea en un formulario o en la impresora
utilizaremos el mtodo Line. Si queremos dibujar una circunferencia usaremos el mtodo Circle. Si
queremos escribir texto, utilizaremos el mtodo Print. No necesitamos decirle como lo tiene que
haver, puesto que eso ya lo sabe hacer VB sin necesidad de que se lo expliquemos. A los mtodos
les tenemos que pasar datos. A eso le llamamos tambin pasarle parmetros. Los mtodos solo
permiten introducir los parmetros que necesita el mtodo para ejecutarse. (En el caso de una
lnea, el punto inicial y el final, en el caso del circulo, el radio y las coordenadas del centro.
Pueden pedir parmetros optativos, como el puede ser el color de la lnea o circulo.
Espero que le quede claro cada una de estas definiciones. Tendr tiempo suficiente a lo largo del
curso para verlas, y dentro de muy poco tiempo le sern muy familiares estos conceptos.

EL 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 opcin, etc., en este
cuadro grfico que llamamos formulario, podemos introducir textos escritos, lugares donde
podemos escribir, figuras, cajas donde podemos elegir una u otra opcin ....
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 alfanumricos. Cuando en vez de introducir datos, lo que tenemos es, por ejemplo, una
ventana donde se reproducen exactamente los controles de operacin de una mquina, parece en
principio que sera 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.

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 3

Fig. 2.2 Forma inicial del formulario.

Fig. 2.3 Un formulario que parece un equipo de radio (Programa realizado por el autor)
Ejemplo de un formulario para una aplicacin 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 funcin que el botn real en el equipo de radio, y un par de
displays, que muestran un texto, en este caso las frecuencias de transmisin y recepcin.

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 4

Como cualquier objeto Visual Basic, un formulario tiene propiedades, procedimientos y mtodos.
Vamos a ver las propiedades del formulario, pero solo veremos las que son especficas para un
formulario. El resto las podr ver al final del captulo. Aqu haremos referencia a esas propiedades
con un asterisco (*) que significa que esa propiedad no tiene una notacin especial para los
formularios. Seguiremos esta norma con todos los controles.
PROPIEDADES.
Name

Nombre

Define al objeto durante la ejecucin del programa. Se introduce en tiempo de diseo y no se


puede variar durante la ejecucin. Nombre por defecto: Form1 (Form2 y sucesivos)
Este
nombre por defecto debe cambiarse, (debera cambiarse por norma en el momento de introducir el
formulario), ya que de no hacerlo corremos el riesgo de borrar el cdigo existente de otro
formulario del mismo nombre en el momento de guardar la aplicacin.
Caption

Ttulo

Es el texto que aparecer en la barra de Ttulo cada vez que aparezca en pantalla este formulario.
No tiene otra funcin dentro del programa. El programa no accede a este formulario por el ttulo,
sino por el nombre. Puede cambiarse en tiempo de ejecucin.
NOTA.- No confundir Nombre (Name) con Ttulo (Caption)
Control Box

Men de Control en la parte sup. Izda. 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 icono (el "menos" en W-3.11) para desplegar
el men de control de este formulario. Si esta propiedad se pone como False, no aparece dicho
icono y por tanto no se puede desplegar dicho men.
MinButton
MaxButton

Valor por defecto: True

Botones de minimizar y maximizar este formulario. Son igualmente propiedades booleanas, que
admiten el valor True o False. Si estn en true, aparecer la flecha correspondiente. Si estn en
False, no aparecer dicha flecha. Deben configurarse de una u otra forma, dependiendo si se
quiere minimizar / maximizar este formulario durante la ejecucin.
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 ejecucin. No se puede cambiar en
tiempo de ejecucin. 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 tamao
durante el tiempo de ejecucin. Con este valor, el formulario puede tener
un men de control, barra de ttulo y botones de maximizar y minimizar.
Solo podr cambiarse de tamao utilizando estos botones.
2-Sizable
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 5

El formulario tendr borde grueso, y se podr cambiar su tamao en


tiempo de ejecucin mediante los botones de maximizar y minimizar, y
mediante el arrastre de uno de los bordes con el ratn.
3 - Fixed Dialog
El formulario tendr borde grueso, y no se podr redimensionar durante la
ejecucin. 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 tamao. En
Windows 95 muestra el botn Cerrar, y el texto de la barra de titulo
aparece con un tamao 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
botn Cerrar y el texto de la barra de titulo aparece con un tamao 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.
Appearance

Apariencia

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 aparecern
como esculpidos dentro de l. Con valor 0 (Flat) en esta propiedad, el formulario aparecer
durante la ejecucin 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 estn visibles. Imaginemos que en este formulario
existe un texto, que se haya cambiado por programa mientras este formulario no estaba visible. Si
esta propiedad Autoredraw est en False, al hacer visible este formulario, aparecer sin reflejar
ese cambio. Si esta propiedad est en True, aparecer actualizado.
Backcolor

Color del fondo

Establece el color del fondo del formulario. Puede cambiarse en tiempo de ejecucin.
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
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 6

Establece un valor que determina el aspecto de la salida de un mtodo grfico o el aspecto de un


control Shape o Line. Ver mas adelante los efectos de esta propiedad.
DrawStile

(*)

Valor por defecto : 0

DrawWidth

(*)

Valor por defecto: 1

Enabled

(*)

ForeColor

Valor por defecto: Negro

Establece el color del primer plano del formulario. Es el color que tendrn las letras si escribimos
en l, o los dibujos, si lo que hacemos es dibujar. En tiempo de diseo, determina el color de la
rejilla,.
FillStyle

Tipo de relleno

(*)

FillColor

Color del relleno

(*)

Font

Tipo de letra

Valor por defecto: El determinado en la personalizacin.

Especifica el tipo y tamao de la letra que se usar en el formulario al utilizar el mtodo Print. Al
seleccionar esta propiedad en la ventana de propiedades, aparece un cuadro de dialogo donde se
eligen ambos parmetros.
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 pequeo truco para utilizar
en todos los controles una determinada fuente sin tener que teclearla para cada control.
FontTranparent

Texto Transparente

Valor por defecto: True

Establece si el texto o grfico de fondo del formulario se muestra (True) o no se muestra entre los
caracteres de texto escritos en el propio formulario.
FontSize

Tamao de letra

(*)

FontBold, FontItalic, FontStrikethru, FontUnderline


Height

Altura

HelpContextID

Identificador de contexto de la Ayuda

Icon

Icono

(*)

(*)
(*)

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 aplicacin, este icono es el que
toma el Asistente de Instalacin 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,
hacindolo directamente sobre la caja de propiedades.
Valor por defecto: el icono que se le haya programado en la personalizacin.
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 pulsacin la recibe en primer
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 7

lugar el control que est activo, y si ste no la procesa, pasa esa pulsacin al formulario. Para
hacer que esa pulsacin pase previamente por formulario, debe ponerse esta propiedad en True.
Esta propiedad la usar frecuentemente cuando quiera realizar alguna funcin pulsando una letra.
Pone KeyPreview a True, y puede conocer que tecla se ha pulsado en el procedimiento KeyPress
del formulario. Si la tiene a False, ese procedimiento no se ejecuta ya que la pulsacin no pasa
por el formulario.
Left

Posicin del Borde Izquierdo

Indica la posicin del borde izquierdo del formulario respecto a la parte izquierda de la pantalla.
(Lo ver mas adelante, la pantalla ser para VB el objeto Screen). Normalmente no se introduce
como valor numrico, sino que lo toma automticamente de la posicin que tenga el formulario en
el tiempo de diseo. Puede cambiarse en tiempo de ejecucin, para mover el formulario.
LinkMode

Valor por defecto: 0

Permite que una aplicacin destino inicie una conversacin DDE con el formulario (origen de
datos). Puede tomar los siguiente valores:
0 - No hay interaccin DDE
1 - Source. Indica que este Formulario es origen de una comunicacin DDE. El dato que
se va a traspasar en esa comunicacin 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 conversacin DDE, cuando
funciona como origen. Es por este tema por el que se debe llamar a este formulario cuando acta
de origen en una conversacin 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 ejecucin. Es una propiedad Booleana
True = es formulario hijo
MouseIcon

(*)

MousePointer

(*)

Picture

Grfico

False =No lo es

Valor por defecto: flecha

Mediante esta propiedad podemos poner un grfico como fondo del formulario. El grfico puede
ser un bit-map o un fichero .ICO
ScaleHeight, ScaleWidth, ScaleMode,
Indican la unidad de medida de dimensin 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), Milmetros (6), Centmetros (7). Si colocamos la propiedad
ScaleMode en cualquiera de estos valores, las propiedades ScaleHeight y ScaleWidth nos
vendrn dadas automticamente dependiendo del ancho del Formulario, y no se extrae 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) sern 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
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 8

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) forzndole estas propiedades,
bien en tiempo de diseo en la caja de propiedades, o en tiempo de ejecucin mediante cdigo.
Entonces sabemos que el formulario, independientemente de las dimensiones fsicas 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 sern 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 automticamente a User (0) al introducir las dimensiones
de ancho y alto que nosotros queremos.
Estas unidades de medida afectarn a los controles que metamos en este Formulario. Se medirn
en su ancho y alto con la unidad de medida definida para el ancho y alto del Formulario.
Lgicamente tambin afectar a las propiedades Left y Top de los controles, pero estas
propiedades se vern afectadas adems por las propiedades ScaleLeft y ScaleTop del Formulario
que se vern a continuacin.
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 posicin 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
diseo). 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, segn
avanzamos hacia abajo y hacia la derecha.
Como aclaracin 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

(*)

Top

Posicin del borde superior

Esta propiedad establece la posicin del borde superior del formulario respecto a la parte superior
de la pantalla (Objeto Screen). Normalmente no se introduce como valor numrico sino que lo
toma automticamente de la posicin que tenga el Formulario durante el tiempo de diseo Este
valor puede cambiarse durante la ejecucin para, conjuntamente con Left, variar la posicin del
Formulario. Los valores de Top y Left definen la esquina superior izquierda del Formulario.
Visible
Width

(*)
Ancho

Valor por defecto: True

(*)

WindowState

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 9

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 posicin y tamao que tena en el tiempo de diseo.
1 - Minimizado El formulario aparece minimizado, representado por su icono.
2 - Maximizado El formulario aparece maximizado, ocupando toda la pantalla.
EVENTOS DEL FORMULARIO
Se explican a continuacin los eventos de un formulario. Recuerde que un evento es lo que le
puede ocurrir a un formulario o control (p.e. Evento Click) y un procedimiento es el cdigo escrito
en ese evento, que se ejecutar cuando ocurra el evento.
Evento Activate
Activacin
Este evento se ejecuta al convertirse el formulario en formulario activo. Esto sucede mltiples
veces cuando tenemos en el programa mas de un formulario. Slo uno de ellos puede ser el
formulario activo. Este procedimiento no pasa parmetros. No debe emplearse para los
parmetros iniciales del formulario. sese para este fin el evento Load o el Initialize.
Evento Click
Click
Este evento se ejecuta cuando hacemos Click (con cualquier botn del ratn) en una parte del
formulario que no est ocupada por un control. Para que se ejecute el evento Click es necesario
que no se ejecute el procedimiento MouseDown. (Que no tenga cdigo escrito en el evento
MouseDown). Existe una diferencia entre el evento click del formulario y el de cualquier control :
en el formulario se ejecuta con cualquiera de los botones del ratn, y en los controles, solamente
con el botn izquierdo. Este evento no pasa parmetros.
Evento DblClick
Doble click
Este evento se ejecuta cuando hacemos doble click con cualquier botn del ratn sobre una parte
del formulario que no est ocupada por un control. Este evento no se ejecuta si tenemos escrito
cdigo en el procedimiento Click. No pasa parmetros.
Evento Deactivate
Desactivacin
Se produce cuando el formulario deja de ser el formulario activo. Vea Activate. No pasa
parmetros.
Evento DragDrop
Evento DragOver

Accin de Soltar durante el Drag & Drop


Pasar el ratn por encima en una operacin de Drag & Drop

Evento GotFocus

El formulario obtiene el foco

(*)
(*)

Este evento ocurre cuando el formulario toma el foco. Cosa un poco difcil, ya que para que el
formulario tome el foco debe ocurrir, o que no tenga ningn control capaz de tomar el foco, o que
todos los controles existentes en el formulario y que puedan tomar el foco, estn desactivados. No
se suele usar este procedimiento.
Evento Initialize

Inicializacin del formulario

Se produce al cargar por primera vez el formulario. Esto significa que si en una aplicacin
cargamos ese formulario una vez (la primera) se realiza este evento, pero si descargamos el
formulario (con Unload Formxx) y luego lo volvemos a cargar (con Formxx.Show), esta segunda
vez (y sucesivas) no se produce este evento
Evento KeyDown
Evento KeyPress
Evento KeyUp

Pulsar una tecla (Instante en que se ha pulsado)


Pulsar una tecla
Soltar una tecla (Instante en que se levanta)

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 10

Estos tres eventos solamente se producirn en el formulario cuando la propiedad KeyPreview


est a True. (Vea propiedad KeyPreview)
Estos tres procedimientos son excluyentes y tienen la jerarqua con el orden siguiente: KeyDown,
KeyPress y KeyUp. Si el procedimiento KeyDown tiene cdigo que pueda realizar una operacin,
no se ejecutar el procedimiento KeyPress ni el KeyUp. Si es el procedimiento KeyPress quien
tiene el cdigo que ejecuta una operacin, no se ejecutar el KeyUp. Para que realice esta
exclusin es necesario que el cdigo pueda realizar alguna operacin.
Pasa los siguientes parmetros:
KeyDown : KeyCode As Integer, Shift As Integer
KeyPress : KeyAscii As Integer
KeyUp
: KeyCode As Integer, Shift As Integer
KeyCode es el cdigo ASCII de la tecla pulsada. KeyAscii es el cdigo ASCII de la tecla pulsada.
La diferencia entre KeyCode y KeyAscii es que el primero se refiere a las teclas del teclado (Todas
las letras y nmeros, teclado numrico, Alt, F1 a F12, etc.) mientras que KeyAscii solamente tiene
valor cuando se pulsa una tecla de letra o nmero. Puede observar que el KeyCode de un nmero
tecleado en el teclado numrico es distinto del KeyCode de ese mismo nmero pulsado en el
teclado alfanumrico. No se confunda con el hecho de que el KeyCode de algunas teclas coincida
con el KeyAscii. No es lo mismo.
Shift indica si est pulsada la tecla Maysculas. Contiene un 1 si est pulsada, 0 si no lo est.
Evento LinkError
Evento LinkExecute
Evento LinkOpen

Error de enlace
Ejecucin de un enlace de datos
Romper el enlace

Estos tres procedimientos ocurren cuando el formulario forma parte de un enlace DDE. Vea el
captulo del DDE para mas detalles.
Evento Load

Cargar el formulario

Este evento es se ejecuta en el momento de la carga del formulario. Es el que presenta en la


ventana de cdigo por defecto, es decir, uno de los mas usados en el formulario. Y es el mas
usado porque es el mas apropiado para introducirle a ese formulario los valores y parmetros
iniciales, abrir bases de datos, etc.
Se ejecuta despus del evento Initialize del formulario, pero este evento Load, al contrario que el
Initialize, se ejecuta cada vez que cargamos el formulario. Para introducir cdigo de inicializacin
debe utilizar este evento Load. Este evento no pasa parmetros.
Evento LostFocus
Perder el foco
Ocurre cuando el formulario pierde el foco. Y un formulario solo puede perder el foco cuando lo
tena. Cosa que no es fcil que ocurra, tal como se explic en el Evento GotFocus.
Evento MouseDown
Pulsar una tecla del ratn
Ocurre cuando se pulsa cualquier botn del ratn, estando el cursor encima de un punto del
formulario libre de controles. Pasa como parmetros Button (Botn pulsado, 1 = Izquierdo, 2 =
Derecho, 3 = Central), Shift (Tecla de Maysculas) y la posicin del puntero del ratn sobre el
formulario (X e Y). Este evento puede usarse para muchas cosas. Una de ellas, muy tpica, iniciar
una operacin de Drag & Drop manual, usando la particularidad de que como pasa la tecla Shift
como parmetro, puede obligarse a pulsar esa tecla para iniciar el D & D, evitando as cualquier
activacin accidental.
Evento MouseMove
formulario)

Mover el ratn (Detecta la posicin del ratn sobre el

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 11

Se produce cada vez que se mueve el ratn sobre el formulario. Tenga cuidado al usar este
evento, ya que cualquier movimiento del ratn lo va a desencadenar. Por eso, siempre se usa con
una condicin (que est pulsada la tecla de maysculas, que est pulsado uno de los botones del
ratn, etc.). Los parmetros que pasa son Button As Integer, Shift As Integer, X e Y As Single.
Evento MouseUp
Soltar una tecla del ratn
Este evento sucede cuando se levanta la tecla pulsada del ratn. Pasa como parmetros Button
(Botn pulsado, 1 = Izdo, 2 = Dcho, 3= Central) Shift (Maysculas), X e Y (Single) como
posicin del puntero del ratn
Este evento suele usarse para mostrar PopupMens, deshacer una operacin iniciada con
MouseDown, etc.
Evento Paint
Redibujar tras un cambio de tamao
Se produce al cambiar el tamao del formulario, tras el evento Resize, excepto cuando se
minimiza. Puede aprovecharse para redibujar el contenido del formulario (de ah su nombre) tras
un cambio de tamao. No pasa parmetros
Evento QueryUnload
Confirmacin de descarga
Este procedimiento se ejecuta cuando el formulario recibe la instruccin de descargarse. Todava
estamos a tiempo de evitar que se descargue. Por lo tanto es aqu donde suele colocarse una caja
de mensaje donde se obliga al usuario a ratificar o revocar la orden de descarga del formulario. En
caso de que en realidad no queramos descargarlo, basta con poner Cancel = True (o Cancel = 1) y
no se producir la descarga. Pasa como parmetros Cancel As Integer, UnloadMode As Integer.
Cancel es un parmetro que debemos introducir para abortar la descarga del formulario. Si se
pone a un valor distinto de 0, se detiene la descarga.
UnloadMode es un valor o constante que nos da el sistema, dependiendo de la causa que ha
provocado la descarga del formulario.
Constante
vbFormControlMenu
vbFormCode
vbAppWindows 2
vbAppTaskManager
vbFormMDIForm

Valor
0

El usuario eligi el comando Cerrar del men Control del


formulario o hizo click en el X del mismo.
1
Se invoc la instruccin Unload desde el cdigo.
La sesin actual del entorno operativo Microsoft Windows
est finalizando.
3
El Administrador de tareas de Microsoft Windows est cerrando la
aplicacin.
4
Un formulario MDI hijo se est cerrando porque el
formulario MDI padre tambin se est cerrando.

Este procedimiento no se ejecuta cuando sale de la aplicacin mediante la instruccin End.


Solamente se ejecuta cuando con la instruccin Unload, o con el comando Cerrar del men
Control del formulario, o haciendo click en el X del mismo. El evento QueryUnload se utiliza con
frecuencia para guardar la configuracin actual de la aplicacin.

Evento Resize

Cambio de tamao

Se ejecuta cuando cambia el tamao del Formulario, bien porque le cambia con las flechas del
ratn arrastrando uno de sus bordes, bien porque lo maximizamos, ponemos a tamao intermedio
o minimizamos. Puede usar este evento para redistribuir o cambiar el tamao de los controles. No
pasa parmetros.
Evento Terminate
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 12

Este evento se produce al descargar el formulario, despus de QueryUnload y Unload. Aqu ya no


podemos abortar la descarga. Solamente podremos, por ejemplo, guardar la configuracin usada
por la aplicacin, para que vuelva a arrancar con la ltima configuracin usada.
Este evento no se produce si sale de la aplicacin con la instruccin End. Solamente si lo hace
mediante Unload (Unload Me, p.e.) o con el comando Cerrar o el X del formulario. Me permito
recomendarle que No termine sus aplicaciones mediante End. No podr usar los eventos
QueryUnload, Unload ni Terminate.
Evento Unload

Descargar el formulario

Este evento se produce en el momento en el que se descarga el formulario. Pasa como parmetro
Cancel, al igual que lo hace QueryUnload. Es la ltima oportunidad de cancelar la descarga del
formulario, haciendo Cancel = True o Cancel = cualquier valor distinto de 0.
Este procedimiento no se ejecuta cuando sale de la aplicacin mediante la instruccin End.
Solamente se ejecuta cuando con la instruccin Unload, o con el comando Cerrar del men
Control del formulario, o haciendo click en el X del mismo.
Eventos del OLE
Existen varios eventos relacionados con el OLE de Windows. Se estudiarn cuando se estudie el
OLE. De momento se enumeran con los parmetros que pasan.
Evento OLECompleteDrag (Effect As Long)
Evento OLEDragDrop (Data As DataObject, Effect As Long, Button As Integer, Shift As _
Integer, X As Single, Y As Single)
Evento OLEDragOver (Data As DataObject, Effect As Long, Button As Integer, Shift As _
Integer, X As Single, Y As Single, State As Integer)
Evento OLEGiveFeedback (Effect As Long, DefaultCursors As Boolean)
Evento OLESetData (Data As DataObject, DataFormat As Integer)
Evento OLEStartDrag (Data As DataObject, AllowedEffects As Long)

LOS CONTROLES MAS ELEMENTALES DE VISUAL BASIC


Una vez introducido un Formulario, se pueden colocar los objetos (controles) que forman parte de
la aplicacin. Estos controles se irn viendo en prximos captulos.
Los controles, lo mismo que el Formulario, tienen Propiedades, Procedimientos y Mtodos.
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 Proyecto | Componentes de la
barra de men de VB. Se elige el nuevo control, marcando la caja de opcin a la izquierda de su
nombre, y haciendo click en ACEPTAR. Este control ya pasa a la caja de herramientas.
No se deben introducir mas controles de los necesarios. Sobre todo, cuando vaya a compilar el
proyecto. Si tiene metido en la caja de herramientas un control que no necesita, lo introducir en
los discos de distribucin igual que si lo necesitara.
COMMAND BUTTON

BOTON DE COMANDO

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 13

El Command Button es un objeto que sirve para introducir datos a travs de la pantalla. El Botn
de Comando tiene la siguiente forma:

El botn de comando puede usarse para la entrada de datos con el ratn, o para validar cualquier
operacin. El tamao 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 tamao en tiempo de diseo. Tambin
puede cambiarse su tamao y posicin en tiempo de ejecucin.
(Las propiedades marcadas con (*) no varan de la descripcin general, hecha al final del captulo)
PROPIEDADES
Name

Nombre(*)

Caption
Ttulo (*)
Es el texto que aparece en el botn. Puede cambiarse en tiempo de ejecucin. No tiene otra
funcin dentro del programa.
Appearance

Apariencia

(*)

Backcolor
Color de fondo (*)
Esta propiedad permite cambiar el color del botn cuando la propiedad Style est puesta a
Graphycal. Si la propiedad Style esta puesta a Standars, esta propiedad solamente controla el
color de un pequeo cuadrado que aparece rodeando el ttulo. Puede cambiarse en tiempo de
ejecucin.
Cancel
Establece un valor que indica si un botn de comando es el botn 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 opcin de cancelar los cambios que no se han hecho efectivos y devolver el
formulario a su estado anterior. En un formulario slo puede haber un botn de comando con la
propiedad Cancel = True.
Causes Validation
Esta propiedad habilita o deshabilita la ejecucin del evento Validate del control que tena el foco
antes de cambiar el foco a este control. El evento Validate de un control se ejecuta
inmediatamente antes de que pierda el foco. (Se dice que un control tiene el foco cuando es ese
control el que est activado). Al hacer click sobre el botn de comando, siempre habr algn
control que pierda el foco para que lo tome el botn de comando. Si el botn de comando tiene la
propiedad Causes Validation a True, se ejecutar el evento validate de ese control que acaba de
perder el foco. Si est a false, no se ejecutar. Observe que esta propiedad afecta a un control
diferente del que ostenta la propiedad.
Default
Establece un valor que determina el control CommandButton que es el botn de comando
predeterminado de un formulario. Slo un botn de comando de un formulario puede ser el botn
de comando predeterminado. Cuando Default se define a True para un botn de comando, se
define automticamente a False para el resto de los botones de comando del formulario. Cuando
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 14

la propiedad Default del botn de comando est establecida a True y su formulario primario est
activo, el usuario puede elegir el botn 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
botn de comando del mismo formulario. En este caso, al presionar ENTRAR se elige el botn de
comando que tiene el enfoque en lugar del botn de comando predeterminado.
DisabledPicture, DownPicture
Estas propiedades solamente estn disponibles cuando se
pone la propiedad Style a Graphycal. Permiten poner un icono diferente para el estado de
deshabilitacin del botn (Cuando est la propiedad Enabled = False) o cuando el botn est
pulsado respectivamente. Juntamente con la propiedad Picture permite hacer un juego de
imgenes sobre el botn que varan de acuerdo a su estado o posicin.
DragIcon

Icono en la operacin de arrastre

(*)

DragMode

Modo de iniciar el Drag & Drop

(*)

Enabled

Habilitado

(*)

Font

Fuente

(*)

Height

Altura

(*)

HelpContextID

Nmero de Contexto para la Ayuda

Index

Indice

Left

Posicin de su parte izquierda.

(*)

(*)
(*)

MaskColor
Establece cual es el color de la imagen del botn que actuar como
mscara para producir zonas transparentes. Para ello, la propiedad UseMaskColor
debe estar a true. ()
MouseIcon

Icono para el puntero del ratn

MousePointer Puntero ratn

(*)
(*)

Picture.
Solamente est disponible cuando la propiedad Style est puesta a Graphical.
Pone un icono sobre el botn.
Style

Define el estilo del botn, aceptando dos valores: Graphycal y Standard. Poniendo
esta propiedad a Graphycal podemos cambiar el color del botn 8con la propiedad
Backcolor) e incluso introducir un frfico (en la propiedad Picture, DownPicture o
DisabledPicture.

UseMaskColor Determina si el color asignado en la propiedad MaskColor se usa como


mscara para crear zonas transparentes. No he sido capaz de sacar partido a esta
propiedad.
TabIndex

N de orden para tabulador

(*)

TabStop

Sale del control de la tecla TAB

(*)

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 15

Tag

Valor auxiliar

(*)

ToolTipText

Etiqueta de informacin (W95)

(*)

Top

Posicin de la parte superior

(*)

Visible

Visible

(*)

WhatsThisHelpID
Width

(Propiedad, Windows 95)

Ancho

(*)
(*)

PROCEDIMIENTOS DEL BOTON DE COMANDO


Click
KeyDown
MouseDown

DragDrop
KeyPress
MouseMove

DragOver
KeyUp
MouseUp

GotFocus
LostFocus

El botn de Comando no tiene el procedimiento DbClick !

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 16

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 informacin esttica o dinmica que no deba ser cambiada
por el operador.
Puede adoptar estas formas: con borde tridimensional, borde plano
justificado a la izquierda, a la derecha o centrado.

o sin borde, y el texto

Se ha incluido la trama para poder observar los lmites de la etiqueta sin borde.
PROPIEDADES
Alignment

Justificacin

Establece si el texto se justifica a la izquierda, a la derecha, o se centra sobre la etiqueta.


Appearance

Apariencia

Plana o tridimensional. (*)

Autosize
Si est a True, el tamao de la etiqueta se ajusta al tamao del texto de su
propiedad Caption
Backcolor

Color de fondo

(*)

BackStyle

Tipo de fondo

Opaco o transparente.

Cuando se selecciona transparente, se ve solamente el texto de la etiqueta, dejando ver como


fondo entre las letras, el color o Picture del formulario. Cuando se selecciona opaco, este texto se
v sobre un fondo gris.
BorderStyle

Tipo 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.
Caption

Ttulo

(*)

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 17

DataSource

DataField

Establecen el control data asociado y el campo de la base de datos que se presentar en 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
Index

DragMode
Left

Enabled
(*)

Font

ForeColor

Height

LinkItem LinkMode LinkTimeout LinkTopic


Estas propiedades establecen la forma en que debe llevarse a cabo una conexin DDE con otra
aplicacin. Se vern con mas detalle al estudiar los enlaces DDE
MouseIcon
Top

MousePointer
(*)

Name

TabIndex

Tag

ToolTipText

UseMneumonic
Es una propiedad Booleana. 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.
Los valores que puede tomar son True o False.
True (Predeterminado) Los caracteres (&) que aparezcan en el texto de la propiedad Caption
definen al carcter siguiente como tecla de acceso. El signo (&) no aparece en el Caption del
control Label.
False Los caracteres (&) que aparezcan en el texto de la propiedad Caption aparecen como tales
en el Caption del control Label.
En tiempo de ejecucin, 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
tabulacin.
Visible

WhatsThisHelpID

Width

(*)

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.
True El control Label se expande o contrae horizontal y verticalmente para adaptarse al texto y al
tamao de la fuente. Contempla para la expansin horizontal la colocacin de los espacios del
texto.
False (Predeterminado) El texto no se ajusta a la siguiente lnea; el control Label se expande o
contrae horizontalmente para adaptarse a la longitud del texto y verticalmente para adaptarse al
tamao de la fuente y al nmero de lneas.
Nota
Si se establece False en AutoSize, el texto siempre se ajustar a la lnea siguiente,
independientemente del tamao 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 direccin.

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 18

PROCEDIMIENTOS DEL LABEL


Click
DragOver

Change
LinkClose

TEXT BOX

DbClick
LinkError

DragDrop
LinkNotify

CAJA 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 introducin de textos, o para la
presentacin 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 ratn 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 aplicacin no
deba cambiar. sese para ello la etiqueta, control no bidireccional, que adems tiene la ventaja de
ocupar menos memoria de programa.
Las cajas de texto pueden tener una o varias lneas, segn est la propiedad Multiline. La
capacidad mxima 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
Alignment

Justificacin

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, ignorndose en caso
contrario. Es decir, permite colocar el texto justificado a la derecha cuando ese texto puede ser de
varias lneas. Si la propiedad Multiline est a False, se justifica siempre a la izquierda.
Esta propiedad no puede cambiarse en tiempo de ejecucin, pero s puede leerse en que
condicin est.
Appearance

Backcolor

(*)

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 19

BorderStyle

Tipo 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
Nombre de un Campo
DataSource
Nombre de un control Data
Establecen el control Data 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
vern cuando se estudie el control Data y el motor de bases de datos
DragIcon

DragMode

(*)

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 ejecucin.
Font

ForeColor

Height

HelpContextID

Index Left

(*)

LinkItem LinkMode LinkTimeout LinkTopic


Estas propiedades establecen la forma en que debe llevarse a cabo una conexin DDE con otra
aplicacin. Se vern 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 ratn, 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 mxima del texto. Si no se establece o si se pone valor 0,
permite cualquier longitud de texto.
MouseIcon
Puntero del ratn personalizado
(*)
MousePointer Puntero ratn
Lo tpico para esta propiedad es el I-Beam (barra vertical)
Name

Nombre(*)

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
carcter que sustituye a cualquier carcter que tenga la caja de texto. (Tpicos el * o ?). El texto
que tenga en la propiedad Text no cambia por el hecho de presentar en pantalla un carcter
distinto. Esta propiedad puede cambiarse en tiempo de ejecucin. Para quitar el PasswordChar
basta con forzarlo al carcter nulo :
Text1.PasswordChar =
La propiedad PasswordChar se ignora cuando la propiedad Multiline est a True.
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 20

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 tamao 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

Tag

(*)

Text
Texto
La caja de texto no tiene la propiedad Caption. Su equivalente es la propiedad Text que es el texto
que tiene en su interior.
Top

Visible

WhatsThisHelpID

Width

(*)

PROCEDIMIENTOS DE LA CAJA DE TEXTO


Click
KeyDown

Change
KeyPress

FRAME

RECUADRO

DblClick
KeyUp

DragDrop
LinkClose

DragOver

GotFocus

Se obtiene directamente de la caja de herramientas

Tiene la siguiente forma :

Un control Frame proporciona un agrupamiento identificable para controles. Tambin 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 continuacin, meta los controles
dentro de Frame. De este modo podr mover al mismo tiempo el Frame y los controles que
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 21

contiene. Si traza un control fuera del Frame y, a continuacin, 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 fsicamente 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 tambin invisibles. Los
controles Frame se utilizan para poner dentro de ellos diversos controles, que solo aparecern en
el programa cuando se cumpla una determinada condicin. Cuando esa condicin se cumpla, se
pone la propiedad Visible del Frame a True y se vern todos los controles que tiene dentro. Si no
se cumple esa condicin, se pone la propiedad Visible del Frame a False y no se ver ni el Frame,
ni los controles que contiene.
PROPIEDADES
Las sealadas con (*) no presentan novedades respecto a las ya
comentadas para los controles precedentes.
Appearance

Backcolor

Caption

(*).

ClipControls
Si esta propiedad est a True, los mtodos grficos en eventos Paint vuelven a dibujar el objeto
entero. Antes del evento Paint se crea una zona de recorte alrededor de los controles no grficos
del formulario. Si esta propiedad est a False dibujarn solamente las reas ltimamente
expuestas. En tiempo de ejecucin, esta propiedad es de slo 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 estarn inhabilitados. Si esta propiedad est a True,
todos ellos estn habilitados.
Font
(*)
ForeColor
Color de las letras del ttulo del Frame.
Height
Name

HelpContextID
TabIndex

Index
Tag

Left
Top

MouseIcon
(*)

MousePointer

Visible
Cuando un Frame est con la propiedad Visible = False, tanto el propio Frame como todos los
controles interiores a el sern invisibles.
WhatsThisHelpID

Width

(*)

PROCEDIMIENTOS DEL FRAME


Click
MouseMove

DblClick
MouseUp

DragDrop

DragOver

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 22

MouseDown

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 verificacin, permite elegir una opcin (activada/desactivada,
True/False) que el usuario puede establecer o anular haciendo click. Una X en una casilla de
verificacin indica que est seleccionada, activada, o con valor True. Cada casilla de verificacin
es independiente de las dems 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 opcin 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 slo puede seleccionar una. Los controles OptionButton se
agrupan dibujndolos 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 continuacin, dibuje dentro los controles OptionButton. Todos
los controles OptionButton que estn dentro del mismo contenedor actan 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 automticamente. Por
contraste, se puede seleccionar cualquier nmero de controles CheckBox.

En el ejemplo de la figura, existen tres grupos de OptionButton, uno en un PictureBox, que


acta, al tiempo que como cuadro de imagen, como contenedor de controles OptionButton. Otro
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 23

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 tambin existen tres CheckBox, que como puede verse, se pueden seleccionar
los que se desee, sin ningn tipo de exclusin entre ellos.
PROPIEDADES
Las sealadas con (*) son comunes a ambos controles y no presentan novedades respecto a las
ya comentadas para los controles precedentes.
Alignment

Comn a ambos controles.


Admite los siguientes valores :
0 - Left Justify
1 - Right Justify

Cuando se elige el valor 0, justificado a la izquierda, el ttulo del control aparece a la derecha del
botn, pegado a la figura del botn. Cuando se elige el valor 1, justificado a la derecha, el ttulo
(Caption) aparece a la izquierda del botn, comenzando en la parte izquierda del cuerpo total del
control, es decir, no tiene porqu aparecer con su parte derecha pegado al botn, caso que el
cuerpo total del control se haya hecho mas largo que la palabra del ttulo.
Appearance

Backcolor

Caption

(*).

DataField DataSource
Propiedades del CheckBox solamente.
Establecen el control Data asociado y el campo donde estn los datos (True / False) que se
llevarn 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

(*)

Height
Comn a ambos controles.
La altura del control solamente afecta a la colocacin del Titulo (Puede ponerse un ttulo largo en
varias lneas), no al tamao del botn, que es invariable.
HelpContextID
TabIndex

Index
TabStop

Left
Tag

MouseIcon
Top

MousePointer
(*)

Name

Value
Comn 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 ejecucin. Mediante
esta propiedad, podemos tanto forzar el valor como leerlo.
Atencin. 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 :
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 24

Option1.Value = True

Option1.Value = 1

Con cualquiera de ellas seleccionaremos ese control por programa.


Para el CheckBox solamente se podr usar para este propsito la instruccin :
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 instruccin igual :
variable = Option1.Value
Visible

WhatsThisHelpID

donde variable tomar el valor True (no 1)

Width

(*)

PROCEDIMIENTOS
Click
KeyDown

DblClick (Solo OptionButton)


KeyPress
KeyUp

DragDrop
LostFocus

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 25

DragOver

GotFocus

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
ms. Si el nmero de elementos supera el nmero que puede mostrarse, se agregar
automticamente una barra de desplazamiento al control ListBox.
Un control ComboBox combina las caractersticas de un control TextBox y un control ListBox.
Los usuarios pueden introducir informacin 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
combinacin de un ListBox, que se comporta como si de un ListBox se tratase, y de un TextBox,
con comportamiento anlogo 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 presentacin 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 lnea de esta lsta es un elemento de la lista. Como el
nmero de elementos de la lista tiene mas elementos de los que le podan caber, gener
automticamente la barra de desplazamiento vertical.
El ComboBox est normalmente sin desplegar. Se despliega cuando se hace click con el ratn en
la flecha que tiene en su parte derecha (vase fig. Anterior). Al desplegarse, muestra la lista con
todos sus elementos. Haciendo click con el ratn 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 mtodos particulares que
solamente se pueden aplicar durante el tiempo de ejecucin :
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 26

Propiedades
ListCount - Indica el nmero de elementos que tiene la lista
ListIndex - Indica el nmero de orden del elemento seleccionado dentro de la lista.
Text - Obtiene el elemento seleccionado.
List (n) - Obtiene el elemento cuyo orden dentro de la lista es n.
Mtodos
AddItem - Aade un elemento a la lista.
RemoveItem - Elimina un elemento de la lista.
Clear Borra todos los elementos de la lista
ListCount valdr 0 si la lista no tiene ningn elemento, y n si tiene n elementos.
Para seleccionar un elemento de la lista, basta con hacer click con el ratn sobre l. Ese
elemento se resaltar con fondo en azul. Una vez seleccionado un elemento, la propiedad
ListIndex tomar el valor del nmero 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 ningn 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 ms 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 recuperacin 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 informacin de ellos.
Variable = List1.Listcount
Variable contendr un nmero con el nmero total de elementos de la lista List1.
Variable = List1.ListIndex
Variable contendr un nmero con el nmero de orden del elemento de la lista
seleccionado en ese momento.
List1.AddItem ELEMENTO NUEVO
Aade un elemento a List1. En este caso, el elemento aadido es la palabra
ELEMENTO NUEVO.
Variable = VISUALBASIC
List1.AddItem Variable
Aade un elemento a List1. En este caso, el elemento aadido 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 nmero de orden n dentro de la lista.
Variable = List1.List (List1.ListIndex)
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 27

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 nmero para
definir el elemento que se desea, se introdujo el valor ListIndex de List1, que es
concretamente, el nmero de orden del elemento seleccionado en ese momento.
Observe que poner List1.List (List1.ListIndex) es idntico 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 sealadas con (*) son comunes a ambos controles y no presentan novedades respecto a las
ya comentadas para los controles precedentes.
Appearance

Backcolor

(*)

Columns

Propiedad 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 automticamente unas barras de desplazamiento
vertical.
Si la propiedad se pone a un nmero distinto a 0, el ListBox es de tipo multicolumna, presentar
en cada columna los elementos que le quepan dependiendo de su dimensin vertical, y tendr
tantas columnas como sea necesario para albergar el nmero 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 aparecern barras de
desplazamiento horizontales para poder movernos por todas las columnas que tenga.
Recuerde : El nmero que se le asigna a la propiedad Columns no indica el nmero de columnas
que tendr el ListBox sino el nmero de columnas que presenta.
Esta propiedad puede asignarse en diseo, mediante la caja de propiedades, o en tiempo de
ejecucin mediante una instruccin como esta :
Nombrelista.Columns = nmero
.
Esta propiedad no puede definirse a 0 o cambiada desde 0 en tiempo de ejecuciones decir, no se
puede convertir en tiempo de ejecucin un ListBox de mltiples columnas en un ListBox de
columna nica o un ListBox de columna nica en un ListBox de mltiples columnas. Sin embargo,
s es posible cambiar durante la ejecucin el nmero de columnas de un ListBox de mltiples
columnas.
DataField DataSource
.
Establecen el control Data asociado y el campo donde estn los datos que se llevarn al TextBox o
ComboBox para presentar datos procedentes de una Base de Datos.
DragIcon

DragMode

Enabled

Font

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 28

ForeColor

Height

HelpContextIDIndex
ItemData

(*)
Propiedad muy importante.

Devuelve o establece un nmero especfico para cada elemento de un control ComboBox o


ListBox.
Sintaxis

NombreDeLaLista.ItemData(ndice) [= nmero]

NombreDeLaLista
Nombre del ListBox o ComboBox.
ndice
El nmero de un elemento concreto del objeto.
nmero
El nmero que se asocia con el elemento especificado.
La propiedad ItemData es una matriz de valores enteros largos cuyo nmero de elementos es el
valor de la propiedad ListCount del control. Los nmeros asociados con cada elemento se pueden
usar para cualquier fin. Por ejemplo, se puede usar en la confeccin de una lista de telfonos, el
nmero de identificacin de un empleado, etc. Cuando se rellena el ListBox, tambin se rellena los
elementos correspondientes de la matriz ItemData con los nmeros 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 mtodo AddItem, el elemento tambin se
inserta automticamente en la matriz ItemData. Sin embargo, el valor no se reinicializa a cero;
retiene el valor que estaba en esa posicin antes agregar el elemento a la lista. Cuando se usa la
propiedad ItemData, asegrese 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 diseo.
MouseIcon

MousePointer

Name

(*)

Sorted
Establece o devuelve un valor que indica si los elementos de un ListBox o ComboBox se
colocan automticamente en orden alfabtico. Los valores que puede adoptar son True o
False.
True Los elementos de la lista se ordenan alfabticamente (sin distinguir entre
maysculas y minsculas).
False (Predeterminado) Los elementos de la lista no se ordenan alfabticamente.
Cuando esta propiedad tiene el valor True, Visual Basic se encarga de casi todo el
procesamiento de cadenas necesario para mantener el orden alfabtico, incluyendo el
cambio de los nmeros de ndice cuando se agregan o eliminan elementos.
Nota El uso del mtodo AddItem para agregar un elemento en una posicin especfica de
la lista puede romper el orden alfabtico, y los elementos agregados con posterioridad
pueden no ordenarse correctamente.
TabIndex

TabStop

Tag

Top

Visible

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 29

WhatsThisHelpID

Width

(*)

PROCEDIMIENTOS
Click
Change (Solo ComboBox)
DblClick
DropDown (Solo ComboBox)
GotFocus
KeyUp
LostFocus
MouseDown (Solo ListBox)
MouseUp (Solo ListBox)

DragDrop
DragOver
KeyDown
KeyPress
MouseMove (Solo ListBox)

NOTA MUY IMPORTANTE


El procedimiento Change del ComboBox solamente se efecta 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-analgico en una aplicacin. Se toman
directamente de la caja de herramientas, y tienen un aspecto parecido al de un control de volumen
de un equipo de msica. El HScrollBar est en posicin horizontal, y el VScrollBar en posicin
vertical.

Mediante estos controles se pueden introducir datos variando la posicin del cursor.
PROPIEDADES de HScrollBar y VScrollBar
Las sealadas 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 variacin 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 mximo para la propiedad Value, es decir, el valor de esta
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 30

propiedad cuando el cursor est en su parte mxima. (Recuerde que el cursor est en el mximo,
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 mnimo para la propiedad Value, es decir, el valor de esta
propiedad cuando el cursor est en su parte mnima. (Recuerde que el cursor est en el mnimo,
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 variacin 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 posicin del cursor. Este valor tiene un mnimo,
establecido por Min y un mximo, establecido por Max. Esta propiedad es la que se debe leer
para conocer la posicin del cursor.
Visible

WhatsThisHelpID

Width

(*)

PROCEDIMIENTOS DE HScrollBar y VScrollBar


Change
KeyUp

DragDrop
LostFocus

DragOver
Scroll

GotFocus

KeyDown

KeyPress

Comentario
El Procedimiento Change se produce cuando, tras mover el cursor, se suelta el
botn del ratn. 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 diseo. En tiempo
de ejecucin, el control permanece invisible.
La temporizacin 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 :

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 31

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 la propiedad Interval = 0)
Left

Name

Tag

Top

(*)

PROCEDIMIENTOS
Timer
Se produce cada vez que se cumple un intervalo completo.

CONTROL

SHAPE

Se toma directamente de la caja de herramientas :

Shape es un control grfico que se muestra como un rectngulo, un cuadrado, una elipse, un
crculo, un rectngulo redondeado o un cuadrado redondeado.
Un control Shape no acta como contenedor de controles. (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
grfico, envolver grficamente a otros controles, pero no tiene ninguna aplicacin en cuanto a
programa. Es un adorno para sus aplicaciones.
PROPIEDADES
Backcolor

(*)

BackStyle
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 32

Esta propiedad establece si Shape permite ver a su travs (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 lnea
continua),Dash, (lnea a rayas), Dot, (lnea a puntos), Dash-Dot, (lnea de raya - punto), dash-DotDot, (lnea 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 lnea.
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

PROCEDIMIENTOS

Visible

Width

(*)

No tiene.

CONTROL LINE
Se toma directamente de la caja de herramientas

Line, al igual que Shape, es un control grfico que solamente sirve para poner una lnea en un
formulario. Del mismo modo, no tiene procedimientos, por lo que no sirve para aportar cdigo al
programa. Solo sirve para aportar una caracterstica grfica, es un adorno.
PROPIEDADES
BorderColor
Establece el color de la lnea.
BorderStyle
Establece el tipo de lnea : Puede ser : Transparent, (No se ve la lnea), Solid, (Lnea
continua),Dash, (lnea a rayas), Dot, (lnea a puntos), Dash-Dot, (lnea de raya - punto), dash-DotDot, (lnea de raya - punto - punto), InsideSolid, (raya continua)
BorderWidth
Establece el ancho de la lnea.
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 33

DrawMode
X1, X2

Index
Y1, Y2

Left
Name
Tag
Visible
Establece las coordenadas y del inicio y final

(*)

PROCEDIMIENTOS
No tiene.
AADIR CONTROLES A LA CAJA DE HERRAMIENTAS
Los controles descritos hasta ahora son parte de los que aparecen en la caja de herramientas mas
elemental de Visual Basic. Estos, otros que se estudiarn en el captulo 4 (Controles para
mostrar imgenes), el control Data y el contenedor OLE que se estudiarn en la segunda
parte del curso, son los que estn incluidos en la caja de herramientas mas elemental. La
razn es que estos controles vienen como lo ms elemental de Visual Basic, como lo que es
imprescindible para que funcione una aplicacin realizada en VB. La pregunta es ahora, qu
es lo ms elemental de VB?
Son tres DLLs, Visual Basic For Aplications (MSVBVM60.DLL), Visual Basic Runtime
Objets And Procedures (MSVBVM60.DLL\3) y Visual Basic Objets And Procedures
(VB6.OLB). Una aplicacin, por muy elemental que sea, necesita esos tres ficheros.
Pero posiblemente no haya ninguna aplicacin prctica que se pueda realizar con esos
controles. Hay ms. Lo que ocurre es que hay que introducirlos en la caja de
herramientas. Para ello, basta con desplegar el men de Proyecto de la barra de
men:

Eligiendo el elemento Componentes de este men desplegado nos muestra todos los
componentes existentes en el disco, que podremos sacar a nuestra caja de
herramientas para poder utilizarlos. En la siguiente figura puede ver el cuadro con los
controles existentes en el PC del autor. Puede observarse que est seleccionado el
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 34

control Calendar, y en la parte de abajo puede verse la ubicacin y nombre del fichero
que contiene ese control (MSCAL.OCX). No todos los controles son de Microsoft.
Observe que hasta Kodak realiza (o le realizan) controles. Existen muchas empresas
que venden controles, unas con mejor calidad que otras. En este tema debe tener
especial precaucin con los controles que se distribuyen de forma gratuita por
Internet. No utilice nunca un control adquirido por este procedimiento si no tiene plena
confianza en el origen del mismo y lo ha probado concienzudamente. Suelen fallar con
bastante frecuencia y, lgicamente, no tienen ninguna garanta. Sea prudente y utilice
solamente aquellos controles de firmas de reconocido prestigio, y que le puedan
aportar garanta de funcionamiento. Obviamente estos controles suelen ser de pago.

Estos controles que adquiere con posterioridad a la instalacin del Visual Basic hay que
registrarlos. No se asuste. No se trata de registrarlos ante el fabricante para poder utilizarlos. Se
trata de introducirlos en el registro de Windows. Con ello Windows conoce el CLSID de ese
control, su ubicacin en el disco duro (los controles suelen estar en C:\Windows\System, pero
pueden estar en cualquir otra carpeta). Windows necesita registrarlos para poder encontrarlos.
Para registrar un control se utiliza el programa Regsvr32.exe. Para registrar un control basta con
ejecutar este programa, pasandole como parmetro el nombre y ubicacin del control a registrar.
Esto se hace en Inicio | Ejecutar. Por ejemplo, para registrar el conjunto de controles
VB_GuiaEst.Ocx introduciramos ese fichero Ocx en C:\Windows\System y a continuacin
ejecutamos:
regsvr32 c:\windows\system\ VB_GuiaEst.Ocx

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 35

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 36

El conjunto de todos los controles es la coleccin Controls


Ver a lo largo del curso que Visual Basic utiliza mucho las colecciones. Una de ellas
es la coleccin Controls, que es el conjunto de todos los controles existentes en
un formulario.
Visual Basic trata a las colecciones como un objeto ms. As, las colecciones tienen sus
propiedades. No vamos a entrar en demasiados detalles de momento, pero una de las
propiedades de todas las colecciones en Count, que es precisamente el nmero de
elementos que componen esa coleccin.
La numeracin de los elementos de una coleccin siempre va del 0 al n-1, siendo n el nmero de
elementos de esa coleccin.
Vamos a ver una expresin que nos puede ayudar mucho. Sirve para saber a que tipo
de control pertenece un determinado elemento. Esa expresin es TypeOf y siempre se
debe usar con una sentencia condicional If y aplicarla solamente sobre una variable
tipo objeto. (No se preocupe al leer esto, es muy fcil) (No se puede utilizar con Select
Case)
Una variable tipo objeto es una variable que no contiene un dato numrico o string.
Contiene un objeto. Por ejemplo, un control.
Podemos declarar una variable como Control
Dim Pepe as Control
Pepe ser un control. Ahora podemos poner
For Each Pepe in Controls
todos
If TypeOf Pepe Is TextBox Then
Pepe.Locked = True
End If
Next Pepe

Para cada valor que tome Pepe haciedole recorrer


los elementos de la coleccin Controls
' Si pepe es un TextBox .
' lo bloquea

Puede usar este cdigo para bloquear todos los TextBox de un formulario. Se mete en un
procedimiento llamado Bloquear (p.e.) y cada vez que queramos bloquear todos los TextBox
del formulario basta con citar a este procedimiento. Un cdigo similar sera
Dim I As Integer
For I = 0 To Controls.Count - 1
If TypeOf Controls(I) Is TextBox Then
Controls(I).Locked = True
End If
Next
(Observe que en la segunda versin, trabajamos directamente sobre los elementos de la
coleccin, que se distinguen unos de otros mediante el Indice colocado entre parntesis. En
este caso, la variable I que tomar los valores entre 0 y n-1)

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 37

Resumen de Propiedades de los controles Visual Basic


Caption

Ttulo

Es el texto del control o lo que figura en la barra de men del formulario. Puede cambiarse en
tiempo de ejecucin.
DragMode
Modo de iniciar una operacin de Drag & Drop
Establece un valor que determina si se usa el modo de arrastre manual o automtico en una
operacin de arrastrar y colocar. Los valores posibles de esta propiedad son:
0
1
DrawStile

Manual
Automtico

Estilo de dibujo

Establece el estilo de lnea de la salida de mtodos grficos:


Valores:0 - Lnea continua
1 - Rayas
2 - Puntos
3 - Raya - Punto
4 - Raya - Punto - Punto
5 - Transparente
6 - Continuo interior.
DrawWidth

Ancho de la lnea

Establece el ancho de una lnea dibujada. El valor debe expresarse en pixeles.


Enabled

Activado

Propiedad Booleana. Si est en True, el formulario o control est activado y se puede interactuar
con l. Si est en False, se desactiva, impidiendo de esta forma, que se pueda trabajar con l.
Puede variarse en tiempo de ejecucin. Cuando un control est deshabilitado (Enabled = False), el
control no tiene efecto, y su apariencia vara, presentando un tono plido tanto en su cuerpo como
en su ttulo.
FillStyle

Tipo de relleno

Establece el modo de rellenar controles Shape, o figuras (crculos o cuadrados) creados con los
mtodos grficos Circle y Line.
Valores:0 - Continuo
1 - Transparente
2 - Lnea Horizontal
3 - Lnea Vertical
4 - Diagonal hacia arriba
5 - Diagonal hacia abajo
6 - Cruzado
7 - Diagonal cruzada
FillColor

Color de relleno

Especifica el color del relleno contemplado en FillStyle.


Font

Fuente

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 38

Es el tipo de letra para el ttulo o el texto del control. Puede cambiarse en tiempo de ejecucin.
FontSize

Tamao de letra

Establece el tamao de la letra que se usar en ese formulario o control (U otro objeto VB, p.e. el
Printer). Esta propiedad puede variarse en tiempo de ejecucin. El tamao debe expresarse en
puntos. Mximo, 2160 puntos.
FontBold, FontItalic, FontStrikethru, FontUnderline
Permiten, en tiempo de ejecucin, cambiar un texto a negrita, cursiva, tachado y subrayado. Son
propiedades Booleanas True / False
Height

Altura

Define la altura de un formulario o control. El valor de esta propiedad no se introduce normalmente


como un dato numrico, sino que toma el valor automticamente, dependiendo de las
dimensiones del objeto durante el tiempo de diseo. Puede cambiarse durante el tiempo de
ejecucin.
HelpContextID

Nmero de Contexto

Establece un nmero de contexto asociado para este formulario. Este nmero se aplica para
determinar la ayuda interactiva asociada a este formulario o control. Vea mas adelante, el tema
Ayuda de Windows.
Puede tomar los siguientes valores :
Index

0 - No se especifica nmero de contexto


>0 Un entero que especifique un contexto vlido.

Indice

En el caso de que se tengan varios controles que realicen una funcin similar (Las teclas
numricas de una calculadora, p.e.) puede hacerse un array con estos controles. Todos tendrn el
mismo nombre, y se diferencian por un ndice. La propiedad Index de ese control toma el nmero
de ese ndice.
Left

Posicin de su parte izquierda.

Indica la posicin del control, concretamente de la parte izquierda del mismo. Normalmente esta
propiedad no se introduce numricamente, sino que la toma automticamente de la posicin que
se le de al control en tiempo de diseo. Puede cambiarse en tiempo de ejecucin.
MouseIcon

Valor por defecto: ninguno

Establece un icono personalizado para el puntero del ratn cuando est encima del Formulario o
control. Este icono puede ser un Bitmap 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 ratn pase por este Formulario o control, cambiar su forma y
adoptar la del icono elegido.
MousePointer

Valor por defecto: flecha

Determina la forma del puntero del ratn cuando se coloca encima del formulario o control. 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.

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 39

TabIndex

N de orden para tabulador

Cuando disponemos de varios controles en un mismo formulario, solamente uno de ellos tiene el
foco. Esta expresin de tener el foco significa que ese control est remarcado y en esa condicin,
si pulsamos la tecla ENTER hara el mismo efecto que hacer click con el ratn en ese control, o,
en el caso de un TextBox, las letras pulsadas en el teclado van a ese TextBox.
Podemos variar el foco de un control a otro mediante la tecla TAB (TABulador).Esto es necesario,
ya que existen ordenadores que no disponen de ratn (tpico de algunos porttiles). 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 travs de cada
control.
TabStop

Sale del control de la tecla TAB

Propiedad Booleana. Cuando esta propiedad est a False, el botn 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 ejecucin. Esto nos permite descartar
algn botn de tomar el foco, cuando por facilidad para el usuario, sea conveniente en
determinados puntos del programa.
Tag

Valor auxiliar

Esta propiedad no la usa directamente Visual-Basic. Sirve para asociar al formulario informacin
adicional para fines externos a la programacin. Pero tambin le puede servir para almacenar en
ella una variable para que la use un cdigo ajeno al formulario. El autor de esta Gua del
Estudiante tiene por costumbre utilizar la propiedad Tag del formulario inicial para guardar el
parmetro que se le pasa a algunos programas para acceder a ellos con unos determinados
privilegios. Resumiendo, est ah para lo que el programador quiere.
Top

Posicin de la parte superior

Indica la coordenada de la parte superior del control. Puede variarse durante el tiempo de
ejecucin. Esta propiedad, juntamente con Left definen la esquina superior izquierda del botn de
comando. Normalmente esta propiedad no se introduce numricamente, sino que la toma
automticamente de la posicin que se le den al botn en tiempo de diseo. Puede cambiarse,
cambiando el valor a esta propiedad, en tiempo de ejecucin.
Visible
Propiedad Booleana. Asignndole el valor True al control o formulario, ser visible, y asignndole
el valor False, no se ver. Este valor puede cambiarse durante el tiempo de ejecucin para
ocultar y hacer visible el formulario o control correspondiente.
WhatsThisHelpID

(Propiedad, Windows 95)

Devuelve o establece un nmero 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 W 95.
Width

Ancho

Define la anchura del formulario o control. Normalmente no se introduce como valor numrico sino
que lo toma automticamente del tamao que tenga el formulario o control durante el tiempo de
diseo. Juntamente con Height define el tamao del objeto. Puede cambiarse durante el tiempo
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 40

de ejecucin

RESUMEN DE LOS EVENTOS DE LOS OBJETOS VISUAL BASIC


Evento Click

Hacer Click con el botn izquierdo del ratn

Lo tienen casi todos los controles y el formulario. Es el evento habitual para introducir el cdigo
que queremos que realice el programa al hacer click sobre un determinado control. No es el nico
evento donde podemos hacerlo, pues tambin tenemos otros muy parecidos (MouseDown,
MouseUp), pero que funcionan de distinta forma. El evento Click en el formulario se efecta cada
vez que pulsamos uno de los botones del ratn. En los controles, slo con el botn izquierdo.
Si un control tiene el foco, se ejecutar su evento Click al pulsar ENTER o la barra espaciadora.
El evento Click no pasa parmetros
Evento DragDrop
Accin de Soltar durante el Drag & Drop
Se produce cuando se suelta el ratn sobre un formulario o control, durante una operacin de
Drag & Drop. Pasa los parmetros Source As Control, X As Single, Y As Single, donde Source es
el control donde se origin el Drag & Drop, y X e Y las coordenadas del puntero del ratn en el
momento de soltar. Vea el captulo de Drag & Drop
Evento DragOver
Arrastrar por encima
Ocurre cuando se pasa por encima de un formulario o control durante la operacin de Drag &
Drop. Pasa los parmetros Source As Control, X As Single, Y As Single, State As Integer. Los
parmetros son los mismos que en el procedimiento anterior. State es un entero que indica el
estado de transicin del puntero sobre el formulario. Toma los siguientes valores :
0 = Entra (El puntero del ratn est entrando al formulario o control).
1 = Deja (El puntero del ratn est saliendo del formulario o control).
2 = Sobre (El puntero del ratn se desplaza de una posicin a otra dentro del formulario o
control). Vea el captulo de Drag & Drop
Evento GotFocus Tomar el Foco
Ocurre este evento cuando el control toma el foco. Tomar el foco significa que se acaba de
convertir en el control activo. (por ejemplo, cuando llevamos el cursor y hacemos click sobre un
Text Box. Hay algunos controles que no tienen procedimiento GotFocus porque nunca toman el
foco (Label, p.e.)
Evento KeyDown Pulsar una tecla (Ocurre cuando el control tiene el foco)
Se produce sobre el control que tiene el foco al pulsar una tecla, justo en el instante que llega a su
posicin inferior. Pasa como parmetros el KeyCode As Integer y el Shift As Integer. El KeyCode
es el cdigo de la tecla (no confundir con Keyascii, que es el cdigo de la letra. Hay teclas que no
tienen Keyascii y s tienen KeyCode F1, F2, ...Insert, ) Shift es la posicin de la tecla Maysculas
(1=pulsada, 0=levantada)
Evento KeyPress Pulsar una tecla (Ocurre cuando el control tiene el foco)
Este evento se produce despus del KeyDown, y pasa como parmetro el KeyAscii As Integer, que
es el cdigo Ascii de la letra cuya tecla se ha pulsado.
Evento KeyUp Levantar la tecla pulsada (Ocurre cuando el control tiene el foco)
Ocurre al levantar la tecla, despus del KeyPress. Pasa como parmetros los mismos que
KeyDown, KeyCode As Integer, Shift As Integer
LSB Visual Basic - Gua del Estudiante Cap. 2
Pgina 41

Estos tres eventos se producen tambin en el formulario (y antes que en el control), si el


formulario tiene la propiedad KeyPreview = True
LinkClose
LinkError
LinkNotify
LinkOpen
Son eventos relacionados con el DDE (Intercambio Dinmico de Datos). Ocurren respectivamente
cuando se cierra el enlace DDE, cuando ocurre un error en el enlace, cuando han cambiado los
datos en origen y en destino se ha establecido la propiedad LinkMode a Notify, y cuando se inicia
una conversacin DDE. Vea el captulo dedicado al DDE para mas detalles.
LostFocus
Ocurre cuando el control pierde el foco. Este evento es muy importante, por ejemplo
en un Text Box, para dar el formato adecuado al texto contenido en ese Text Box, o
para comprobar que es correcto, etc.
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Se ejecuta en el instante de apretar el botn de mouse, cuando est el puntero encima del
formulario o control correspondiente. Pasa como parmetros el botn pulsado (1= izquierdo, 2 =
derecho, 3 = centro), la tecla maysculas (Shift=1 significa pulsada, =0 no pulsada) y las
coordenadas X e Y del puntero del ratn.
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Se ejecuta cuando pasa por encima del formulario o0 control el puntero del ratn
MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Similar a MouseDown, pero cuando se levanta el botn.
Existen mas eventos. No se van a mencionar aqu todos, pues se irn viendo segn avance el
curso.
Y no se preocupe si este capitulo le ha resultado muy pesado. Les pasa a todos. El prximo va a
ser mas divertido.

LSB Visual Basic - Gua del Estudiante Cap. 2


Pgina 42

Potrebbero piacerti anche