Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Por ejemplo si quiero mostrar un texto en un control llamado Text1 se hara de esta
forma:
Esto de las propiedades por defecto lo tienen la mayora de los controles, pero cada
control tiene la suya, por ejemplo la propiedad default de un control Label es
Caption, por lo que no es necesario escribirla, y Visual Basic no dara error:
Para un control Picture, la propiedad Picture es la que est establecida por defecto, y
esto tampoco dara error y cargara una imagen perfectamente en el control sin indicar
explcitamente la propiedad.
Propiedad Multiline
La propiedad Multiline o multilinea se utiliza para poder mostrar los saltos de carro o
saltos de lnea y que el texto se vea en varias y no todo en un nica lnea. Los valores
que posee son True que est activada y en False quiere decir que est deshabilitada. Por
defecto cuando aadimos un TextBox, la propiedad est en False, osea que tenemos que
indicarle nosotros a vb, ya sea desde la ventana de propiedades ponindola en true. Una
cosa importante es que esto no lo podemos cambiar en tiempo de ejecucin mediante
cdigo, si o si hay que establecerla desde la ventana de propiedades, ya que es una
propiedad de solo lectura.
Propiedad PasswordChar
Esta propiedad tiene la funcin de ocultar el verdadero contenido del TextBox por el
caracter que le indiquemos, por ejemplo los TextBox de ingresos de contrasea, donde
el texto se oculta pero no se pierde, solo impide visualizarlo:
Propiedad ScrollBars
Esta propiedad permite que el TextBox tenga o no tenga barras de Scroll cuando el
texto sea superior a las dimensiones de la caja de texto. Los valores que puede tener
Propiedad Locked
Esta propiedad lo que hace es impedir que se pueda escribir en el TextBox,
bloqueando la entrada de datos. Esta propiedad puede tener el Valor True o False,
habilitado para el primero y False para el segundo. Por defecto est deshabilitada, es
decir en False
Propiedad Maxlength
La propiedad MaxLength se usa para limitar la cantidad de caracteres que se
podrn ingresar. Por ejemplo si en el TextBox tuviesemos el texto "Domingo" y
hacemos esto:
Private Sub Command4_Click()
Text1.Text = "Domingo"
Text1.MaxLength = 3
End Sub
El texto "Domingo" se podr visualizar pero si intentamos escribir en la caja de texto,
no se podr ingresar mas de 3 caracteres. Es decir la propiedad recibe un nmero que
identifica la longitud mxima permitida de letras a ingresar.
El siguiente ejemplo utiliza estas dos propiedades, en conjunto con la propiedad Len de
visual basic, para que al persionar la tecla Ctrl+A, se seleccione todo el contenido del
TextBox
Text2 = Text1
End Sub
Si quisieramos cambiar el color de fondo (propiedad Backcolor) del TextBox para que
sea igual al color de fondo del formulario haramos asi:
Este ejemplo lo que hace es cambiarle el color al fondo del control text en negro, el
color de la fuente en verde, el tamao de la fuente, establecerla en negrita, y luego le
asigna un texto "hola mundo".
Colocar un Command1 y un Text1
Esta funcin tambin puede ser utilizada en otros controles de entrada de datos, como
por ejemplo los ComboBox, y la ventaja de utilizarlo, es que si tenemos muchos textbox
o controles a los cuales deseamos verificar las teclas presionadas, no tenemos que
escribir y repetir cdigo en todos ellos, solo asignando al valor KeyAscii el valor
retornado por la fuincin, para que el mismo acepte o no dichas teclas
Nota: tambin hay una funcin de visual basicllamada IsNumeric, para poder
determinar si un valor es un nmero
Text1 = ""
Open path For Input As #1
While Not EOF(1)
'Lee la linea del archivo
Line Input #1, linea
'La carga en el textbox
Text1 = Text1 & linea
Wend
'Cierra el archivo abierto
Close
End Sub
En el ejemplo, se recorren todos los controles del formulario mediante un bucle For
each. Luego, se van creando los dems controles Shape en tiempo de ejecucin, uno
para cada textbox , usando el mtodo Load que permite crear los controles en tiempo de
ejecucin a partir de uno que est agregado en el formulario formando un array de
controles
Controles
Colocar en el formulario, un control Shape. Al control Shape especificarle en la
propiedad Index el valor 0 pra formar el array de shape
Luego agregar algunos textbox en el formulario
shape
0 ' Fondo transparente
= 1 ' Borde slido
= 1 ' 0 Grosor del borde
Nota. en este enlace hay un ejemplo para crear un listbox con borde personalizado
tambin usando un control shape
Ejemplo:
La rutina LimpiarTextBox, recibe como parmetro el formulario, por ejemplo para
limpiar todo el contenido de todas las cajas de texto que hay en el el formulario actual,
se ejecutara la rutina de la siguiente forma:
Call LimpiarTextBox(Me)
Descripcin
El control Label o Etiqueta es un simple control que se utiliza para mostrar texto,
descripciones, informacin para el programa.
Propiedades
Propiedad Caption
La propiedad Caption es la mas importante, y es la que se utiliza para establecer el
texto que mostrar el control Label. Por ejemplo para mostrar el texto "Hola" agrega un
label al formulario, coloca un Botn, hac doble click en el mismo, escribe Label1 y
presiona el ".", Visual Basic te desplegar la lista de propiedades y mtodos del Label1.
Una vez colocada la propiedad Caption, se asigna el texto que va a mostrar de esta
manera, por ejemplo para mostrar la palabra "Hola" en el control:
Texto planoImprimir
1. Label1.Caption = "Hola"
Este fragmento de cdigo, visualiza la hora actual, asignando a la propiedad Caption
(dentro de un Timer), el valor devuelto por la funcin Now de vb.
Colocar un control Timer y un Label
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Form_Load()
4.
5.
' \\ -- Configurar Timer
6.
With Timer1
7.
.Interval = 1000 ' -- 1 segundo
8.
.Enabled = True
9.
End With
10.
Propiedad Autosize
Si la propiedad Autosize del control se encuentra en True, las dimensiones del Label
(ancho y alto) se ajustarn al largo y alto del texto que muestre. En cambio si se
encuentra en False el ancho y alto del control ser el que est establecido en la
propiedad Height y Width sin importar la longitud del texto.
Propiedad Aligment
Esta propiedad posee 3 valores. Si le establecemos el valor 0 el texto se alinear a la
izquierda, si tiene el valor 1 se alinear a la derecha y si est con el valor 2, el texto se
muestra en forma centrada, como muestra la imagen:
Visible : Si est en True el control est visible si est en False est oculto
Este bsico ejemplo lo que hace es cambiar algunas propiedades de este control.
El Command1 que cambia el texto del Label, lo que hace es mostrar un InputBox que
es una caja o cuadro de dilogo para ingresar un texto. Ese texto lo almacenamos en una
variable y luego lo mostramos en el Label
El Command2 que cambia el Estilo del borde, es decir la propiedad BorderStyle,
cuando se presiona, si el control Label tiene la propiedad BorderStyle en 0, lo pone con
el valor 1, si est con el valor 1 lo establece en 0, es decir lo contrario.
El Command3 que activa y desactiva el control, lo que hace es cambiar el valor de la
propiedad Enabled del Label. Cuando lo presionamos se ejecuta esta lnea:
Label1.Enabled = Not Label1.Enabled
El operador Not lo que hace en este caso es cambiar el valor de la propiedad Enabled a
su valor contrario. Es decir, si el valor de enabled est en True (Habilitado) Not
Label1.Enabled lo que hace es deshabilitarlo, si est deshabilitado (False) el operador
Not lo cambia a True, y el Label queda Habilitado. Esto se puede hacer con una
clasula If Then pero esta manera es mas simple.
El Command4 es igual que el Command1, por medio de un InputBox se pide que
ingrese un texto, y se cambia el valor de la propiedad ToolTipText, que es la propiedad
que muestra informacin de un objeto mediante un rectngulo amarillo cuando pasamos
el mouse por encima, como los tipicos controles de windows de cualquier aplicacin.
El Command5 es igual que el Command3, utiliza el operador Not para establecerle la
propiedad Visible. Si el Label est Visible (True), se cambia a False (se oculta), si est
en False se pone en True
Cdigo fuente
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Form_Load()
4.
5.
With Label1
6.
' -- Estilo transparente
7.
.BackStyle = 0
8.
' -- Ajustar el control al texto
9.
.AutoSize = True
10.
' -- Asignamos un texto para la direccin url
11.
.Caption = " http://www.google.com "
12. End With
13. End Sub
14.
Este simple ejemplo muestra como recorrer todos los objetos del form actual, y si es de
tipo Label, le establece un color aleatorio utilizando la funcin RND y la funcin RGB
de Visual basic. Por supuesto en el bucle pods probar cambiar otras propiedades que
quieras. Esto tambin es muy til para deshabilitar y habilitar, o hacer visible o no
visible controles del programa utilizando un simple bucle.
Colocar varios controles en el formulario, y tambin varios controles Label, por ejemplo
4o5
Colocar tambin un botn para poder ejecutar el cdigo del bucle
Pegar el siguiente fragmento de cdigo en el form principal
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Command1_Click()
4.
5.
Dim xLabel As Control
6.
' -- Recorrer controles coon un bucle
7.
For Each xLabel In Me.Controls
8.
' -- Comprobar que el control actual es de clase Label
9.
If TypeOf xLabel Is Label Then
10.
' - Si lo es, cambiar la propiedad ForeColor
11.
xLabel.ForeColor = RGB(CInt(Rnd * 255), CInt(Rnd * 255), CInt(Rnd *
255))
12.
End If
13. Next
14.
15. End Sub
16.
17. Private Sub Form_Load()
18. Command1.Caption = "Cambiar color"
19. End Sub
Nota: desde opciones > men Herramientas, puedes especificar los valores para la
cuadrcula del formulario, por defecto son 120 twips, colocando un valor mas bajo,
tendrs mas precicin para colocar el control Label al arrastrarlo en el formualrio.
Simple botn
Este senciilo ejemplo muestra una forma de poder crear un botn utilizando dos
controles label en un array de controles uno encima del otro. Y en el evento
MouseDown , se oculta uno, y se visualiza el que est por debajo, y luego se vuelve a
visualizar el otro en el evento mouseUp
Como se dijo, se utiliza generalmente en el evento Click par ejecutar alguna accin
cuando se produce dicho evento, y es precisamente el evento Click, el que por defecto
aade Visual Basic al control
Por ejemplo, si colocamos un control Command1 en un formulario, y le damos
DobleClick para que se abra la ventana de cdigo de visual basic, podemos ver la
siguiente rutina:
Texto planoImprimir
1. Private Sub Command1_Click()
2.
3.
4. End Sub
Todas las instrucciones que estn dentro de este procedimiento, llamado
Command1_Click, se ejecutarn cuando presionemos el botn. Por ejemplo si
ejecutamos el siguiente cdigo, lo que hara sera mostrar la fecha del sistema en la
barra de ttulo del formulario, utilizando la funcin Date de Visual Basic
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Command1_Click()
4.
' -- Establecemos en la barra de ttulo del formulario la fecha del Pc
5.
Me.Caption = Date
6.
7. End Sub
Este otro ejemplo, al presionar el botn, termina el programa utilizando la funcin End
de vb. Colocar un Botn en el form
Texto planoImprimir
1.
2.
3.
4.
5.
6.
7.
8.
9.
Option Explicit
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
Command1.Caption = "Salir"
End Sub
Propiedades
Las propiedades que posee el control CommandButton son prcticamente las que
poseen el resto de controles estandar de visual basic, salvo algunas exclusivas como la
propiedad Style.
Propiedad Style
La propiedad Style tiene 2 valores, 0 - Standar y 1 - Graphical. La primera es del
clsico botn y este valor es el asignado por defecto. En cambio Graphical permite
utilizar CommandButton para poder mostrar imgenes, cambiarle el color del fondo, el
tipo de fuente, y utilizando el Api de windows, se puede cambiar por ejemplo el color
de la fuente, es decir el ForeColor que este control no lo posee.
Esta imagen muestra, en el Command1 , una imagen, por medio de la propiedad Picture
que la puedes cargar desde la ventana de propiedades. El segundo, el Command2, no
tiene imagen, pero muestra como se puede establecer el color de fondo, propiedad
Backcolor, siempre y cuando la propiedad Style sea de tipo grfico, ya que si est en
estndar no surtir efecto.
Otro ejemplo sobre esta propiedad: Al pasar el mouse por encima del Commandbutton,
se cambiar la fuente, en Negrita, el Subrayado, y el color de fondo, al salir el puntero
fuera del botn, se reestablecer a la fuente normal, y se restaurar el color de fondo
usando el color por defecto que utiliza windows para los botones, mediante la constante
VbButtonFace
Para el ejemplo, colocar un Command1, colocar la propiedad Style en Graphical y pegar
estas lneas en el formulario:
Texto planoImprimir
1.
2.
3.
4.
5.
Option Explicit
' -- Flag para que no se ejecute constantemente
' -- el cdigo del Form y del CommandButton
Dim Flag As Boolean
6.
7. Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
8.
9.
' -- Establecer la fuente del commandButton en negrita y con subrayado
10. If Flag Then
11.
Command1.Font.Bold = True
12.
Command1.Font.Underline = True
13.
Command1.BackColor = vbWhite
14.
Flag = False
15. End If
16.
17. End Sub
18.
19. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single
, Y As Single)
20. ' -- Quita la negrita, el subrayado, y restaura el color de fondo
21. If Flag = False Then
22.
Command1.Font.Bold = False
23.
Command1.Font.Underline = False
24.
Command1.BackColor = vbButtonFace
25.
Flag = True
26. End If
27.
28. End Sub
Propiedad Default
Esta propiedad es muy til en ciertas locaciones, sobre todo en formularios y programas
que utilizan bases de datos, y opciones para buscar.
Default puede tener dos valores , True o False. Si est en True, el botn ser el botn
por defecto que se ejecutar cuando se presione la tecla enter. Por ejemplo hagamos de
cuenta que nuestro programa contiene un botn. Ese botn ejecuta un cdigo para
buscar datos en una base de datos. Si el usuario en un momento determinado, se
encuentra escribiendo datos en un control textbox, y presiona la tecla Enter, el
CommandButton al tener la propiedad Default en True, ejecutar el cdigo que tenga en
el evento click. En este caso , en el evento clic, contendra todo el cdigo para realizar la
bsqueda de registros.
Un simple ejemplo
Coloca: Un control TextBox, un CommandButton. Pega el siguiente cdigo
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Command1_Click()
4.
MsgBox "Se ejecut el evento Click del commandButton", vbInformation
5. End Sub
6.
7. Private Sub Form_Load()
8.
' -- Establecer propiedad Default
9.
Command1.Default = True
10.
11. MsgBox "Coloca el cursor en un control textbox para que tome el foco, " & _
12.
13.
14.
"y luego, presiona la tecla enter, y vers como de todas formas " & _
"se ejecut el evento click ya que es el control por defecto del" & _
"formulario. ( Nota .Solo puede haber un solo botn con la propiedad " &
_
15.
"Default en un formuario)", vbInformation
16.
17. End Sub
Propiedades de posicin
Las propiedades de posicin son las que permiten cambiar el tamao y la posicin en el
objeto que lo contiene. estas propiedades son cuatro : Left, Top, Height y Width.
El siguiente ejemplo muestra como usar estas propiedades. Supongamos que nuestro
formulario contiene un botn "Salir" en la parte inferior:
Ahora bien como hacer para que al presionar el botn de maximizar del formulario o
cambiar de tamao el formulario, el botn contine situado en la esquina inferior
derecha ? Para ello hay que modificar la propiedad Left y Top del botn. Pero donde
colocar el cdigo? para ello se debe colocar en el evento Resize del formulario.
Puedes probar este simple ejemplo con el siguiente cdigo:
Texto planoImprimir
1. Option Explicit
2.
Propiedad Enabled
Esta propiedad lo que hace es habilitar o deshabilitar el botn. Es una propiedad que la
poseen casi todos los controles, tanto los de Visual basic, como otros controles de
terceros ( controles ocx o Activex )
Aqu puedes ver ver un pequeo ejemplo de su uso.
Supongamos que nuestro programa contiene un un control de texto donde se ingresan
datos para buscar registros en una base de datos. Y tambin tenemos un botn que
contiene el cdigo que debe ejecutar para realizar la bsqueda dentro de la base de
datos. Si en algn momento el control de texto no contiene datos, es decir no contiene
texto valga la redundancia, no sera necesario que el botn se encuentre habilitado, por
el contrario, deberamos deshabilitarlo.
Puedes probar este simple ejemplo, colocando un control Textbox , un botn y pegando
el siguiente cdigo en el formulario principal
Texto planoImprimir
1. Option Explicit
2.
3.
4. Private Sub Command1_Click()
5.
MsgBox Text1.Text, vbInformation
6. End Sub
7.
8. Private Sub Form_Load()
9.
Text1.Text = ""
10. Command1.Caption = "Buscar .."
11. End Sub
12.
13. ' -- El evento Change se produce cuando cambia el contenido
14. ' -- de la caja de texto
15. Private Sub Text1_Change()
16. If Text1.Text = "" Then
17.
Command1.Enabled = False
18. Else
19.
Command1.Enabled = True
20. End If
21. End Sub
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Form_Load()
4.
Command1.Caption = "Opcin 1"
5.
Command2.Caption = "Opcin 2"
6.
Command3.Caption = "Opcin 3"
7.
Command4.Caption = "Opcin 4"
8. End Sub
9.
10. ' \\ -- Procedimiento para activar y desactivar los botones
11. Sub EnabledDisabled(ByVal bValue As Boolean)
12.
13. ' -- Recorrer todos los objetos y controles del form
14. Dim xCtrl As Control
15. For Each xCtrl In Me.Controls
16.
' xCtrl es un Command Button ?
17.
If TypeOf xCtrl Is CommandButton Then
18.
' si lo es, entonces habilitarlo o deshabilitarlo
19.
xCtrl.Enabled = bValue
20.
End If
21. Next
22. End Sub
23.
24. '\\ -- Deshabilitar
25. Private Sub Text2_GotFocus()
26. Call EnabledDisabled(False)
27. End Sub
28.
29. '\\ -- Activar
30. Private Sub Text1_GotFocus()
31. Call EnabledDisabled(True)
32. End Sub
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Form_Load()
4.
5.
With Command1
6.
' -- Puntero de mouse personalizado - Pasar usar con conos
7.
.MousePointer = 99
8.
' -usar el cono del formulario ( Puedes especificar el que desees cargandolo desde
la ventana de propiedades o utilizando la funcin LoadPicture)
9.
.MouseIcon = Me.Icon
10. End With
11.
12. ' -- Cargar la lista de punters de mouse para el botn
13. With List1
14.
.AddItem "0 - Default"
15.
.AddItem "1 - Arrow"
16.
.AddItem "2 - Cross"
17.
.AddItem "3 - Beam"
18.
.AddItem "4 - Icon"
19.
.AddItem "5 - Size Ne SW"
20.
.AddItem "6 - Size Ne SW"
21.
.AddItem "7 - Size N S"
22.
.AddItem "8 - Size NW Se"
23.
.AddItem "9 - Up Arrow"
24.
.AddItem "10 - HourGlass"
25.
.AddItem "Custom"
26. End With
27.
28. End Sub
29.
30. Private Sub List1_Click()
31. ' -- Cambiar la propiedad MousePointer
32. With List1
33.
If .ListIndex <> -1 Then
34.
Command1.MousePointer = .ListIndex
35.
End If
36.
If .ListIndex = .ListCount - 1 Then
37.
Command1.MousePointer = 99
38.
Command1.MouseIcon = Me.Icon
39.
End If
40. End With
41. End Sub
Mtodos y funciones
Este control prcticamente no contiene mtodos o funciones. El mas importante y el
mas utilizado es el mtodo SetFocus, que tambin lo posen muchos otros controles.
Lo que hace el mtodo setFocus, es poder establecer el enfoque a un objeto especifico,
en este caso al botn. Su uso es muy simple, solo basta con ejecutarlo desde alguna
parte de nuestro programa para que el Commandbutton pase a tener el foco.
Una cosa muy importante a tener en cuenta , es que para poder establecer el foco a
cualquier control de visual basic, el objeto se debe encontrar visible, y tambin se debe
encontrar habilitado. Es decir, si la propiedad Visible o la propiedad Enabled del objeto
se encuentran en False, esto producir un error en tiempo de ejecucin. Por ello siempre
se debe colocar una rutina de error para poder controlar esto, o comprobando estas
propiedades mediante una instruccin If Then
Para recrear este error puedes ejecutar este cdigo
Coloca dos botones
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Command2_Click()
4.
' -- Esta instruccin generar un error, ya que le intentar pasar el foco
5.
' -- al command1, que se encuentra deshabilitado
6.
Command1.SetFocus
7. End Sub
8.
9. Private Sub Form_Load()
10. ' -- Deshabilitamos el Command1
11. Command1.Enabled = False
12. MsgBox "Presiona el Botn Command2", vbInformation
13. End Sub
Para solucionarlo, simplemente puedes hacer algo asi
Colocar dos botones
Texto planoImprimir
1. Option Explicit
2.
3. Private Sub Command2_Click()
4.
With Command1
5.
' -- Si est visible y esta habilitado, entonces .. pasar el foco
6.
If .Visible And .Enabled Then
7.
.SetFocus
8.
End If
9.
End With
10. End Sub
11.
12. Private Sub Form_Load()
13. MsgBox "Presiona el Botn Command2", vbInformation
14. End Sub
Por ejemplo para probar el uso de los mtodos GotFocus y LostFocus (recibe y pierde el
foco) colocar 3 CommandButton, Command1, Command2 y Command3. Luego un
Label1 que mostrar el control que recibe el foco (GotFocus) y un Label2 que mostrar
el control que pierde el foco (LosFocus)
Luego de aadir los controles pegar el cdigo siguiente en el formulario
Texto planoImprimir
1. Private Sub Command1_GotFocus()
2.
Label1 = "El foco lo tiene: " & Command1.Caption
3. End Sub
4.
5. Private Sub Command2_GotFocus()
6.
Label1 = "El foco lo tiene: " & Command2.Caption
7. End Sub
8.
9. Private Sub Command3_GotFocus()
10. Label1 = "El foco lo tiene: " & Command3.Caption
11. End Sub
12.
13. Private Sub Command1_LostFocus()
14. Label2 = "Perdi el foco el: " & Command1.Caption
15. End Sub
16.
17. Private Sub Command2_LostFocus()
18. Label2 = "Perdi el foco el: " & Command2.Caption
19. End Sub
20.
21. Private Sub Command3_LostFocus()
22. Label2 = "Perdi el foco el: " & Command3.Caption
23. End Sub
Nota: en la ventana de cdigo pods ver que tens 2 combos o listas desplegables:
El combo de la izquierda muestra los objetos que tiene el formulario, es decir los
controles, rutinas y funciones, y la lista de la derecha los eventos y mtodos del
objeto seleccionado en la lista izquierda.
En la captura del ejemplo anterior, se puede ver que cuando el cursor se encuentra
dentro de la ventana de cdigo est situado en un procedimiento determinado, las listas
se actualizan mostrndote dicho objeto, por ejemplo el cursor est en el control u objeto
llamado Command3 en el evento Gotfocus, y las listas desplegables muestran esto
mismo.
Ahora el cdigo que escribas dentro de este procedimiento se va a disparar cada vez que
pases el mouse encima del Command1. Por ejemplo para mostrar un mensaje con la
funcin MsgBox cada ves que pases el puntero encima, agrega lo siguiente:
Texto planoImprimir
1. Option Explicit
2.
3. ' -- \\ Evento MouseMove
4. Private Sub Command1_MouseMove( _
5.
Button As Integer, _
6.
Shift As Integer, X As Single, Y As Single)
7.
8.
MsgBox "Ests encima del botn", vbInformation
9.
10. End Sub
Descripcin
El control CheckBox se utiliza generalmente para listar opciones y que el usuario
pueda elegir entre ellas, y dependiendo del valor (si est chequeado o no), se realiza una
u otra accin.
Una vista previa de este control:
Propiedad Caption
La propiedad del CheckBox que visualiza el texto en el control se llama Caption. Para
establecerla se realiza desde la ventana de Propiedades de Visual Basic , o en tiempo de
ejecucin de esta manera:
Por ejemplo si quisiremos hacerlo en el evento Load del Formulario , DobleClick
sobre el form y en el procedimiento Form_Load:
Texto planoImprimir
1. Private Sub Form_Load()
2.
3.
Check1.Caption = "Es usted mayor de edad"
4.
Check2.Caption = " Tiene hijos ?"
5.
Check3.Caption = " Estudi alguna carrera ?"
6.
7. End Sub
Propiedad Value
La principal propiedad de este control es la propiedad Value. Esta propiedad devuelve y
establece el valor seleccionado.
Esta tiene 3 posibles valores:
0 - UnChecked
1 - Checked
2 - Grayed
38.
39. ' -- Otro salto de carro
40. Resultado = Resultado & vbNewLine
41.
42. ' -- Evaluamos el Check3 (si estudi)
43. If Check3.Value = 0 Then
44.
Resultado = Resultado & "Usted no estudi una Carrera"
45. Else
46.
Resultado = Resultado & "Usted estudi una Carrera"
47. End If
48.
49. ' -- Mostramos el valor de la variable Resultado con la informacin
50. MsgBox Resultado, vbInformation, "Encuesta"
51.
52. End Sub
53.
54. Private Sub Form_Load()
55.
56. ' -- Establecer Caption de los controles
57. Command1.Caption = "Mostrar resultados"
58. Check1.Caption = " Es usted mayor de edad ?"
59. Check2.Caption = " Tiene hijos ?"
60. Check3.Caption = " Estudi alguna carrera ?"
61. Text1.Text = vbNullString
62. End Sub
63.
Bueno esto obviamente se podra hacer de muchas otras maneras, pero est puesto as
para que se entienda mejor.
Otras propiedades
Las dems propiedades ya se han visto y son comunes a los dems controles de Visual
Basic, como son las propiedades de aspecto grfico y apariencia del control: Propiedad
Font, Forecolor, BackColor etc...., y otras como Visible, Enabled , Top, Left, Width,
Height etc...
A continuacin unos ejemplos simples que no tienen mucho sentido pero sirven para
practicar
Cambiar la propiedad FontBold ( Estilo negrita ) de todos los CheckBox que haya
en el formulario
5.
6.
Static bValue As Boolean
7.
8.
bValue = Not bValue
9.
10. Dim xCheckBox As Control
11. ' Recorrer en un bucle todos los controles del form
12. For Each xCheckBox In Me.Controls
13.
' Comprobar con el operador TypeOf si es un control CheckBox
14.
If TypeOf xCheckBox Is CheckBox Then
15.
' Cambiar la propiedad Value
16.
xCheckBox.Value = Abs(bValue)
17.
End If
18. Next
19.
20. Command1.Caption = "Value: " & CStr(bValue)
21.
22. End Sub
23.
24. Private Sub Form_Load()
25. Command1.Caption = "Value: Falso"
26. End Sub
Propiedad Style
Una propiedad de este control relacionado a su aspecto grfico es la Propiedad Style:
Esta es similar a la del control CommandButton, y permite tener un checkBox de estilo
grfico o estilo Estndar normal, como muestra esta imagen:
Ejemplos de eventos
Lo siguiente, utiliza el evento MouseMove del control, para que al pasar el mouse por
encima, se visualice una descripcin en un control de barra de estado. Tambin, hace un
simple efecto, cambiando el color del texto, similar al enlace de una pgina web.
Coloca en el formulario un control Check1, un control StatusBar, y el siguiente cdigo
fuente.
Texto planoImprimir
1. Option Explicit
2.
3. ' -- Flag
4. Private bMouseEnter
As Boolean
5.
6. ' -- Cambiar color del texto al cambiar el value
7. ' -----------------------------------------------------8. Private Sub Check1_Click()
9.
With Check1
10.
If .Value = 0 Then .ForeColor = vbBlack
11.
If .Value = 1 Then .ForeColor = vbRed
12. End With
13. End Sub
14.
15. Private Sub Check1_MouseMove(Button As Integer, Shift As Integer, X As Sin
gle, Y As Single)
16. If bMouseEnter = False Then
17.
bMouseEnter = True
18.
' -- Resaltar texto y mostrar la descripcin en la barra de estado
19.
Call CambiarPropiedad(Check1, True)
20.
StatusBar1.Panels(1).Text = "Un texto descriptivo ...."
21. End If
22. End Sub
23.
24. Private Sub Form_Load()
25.
26. ' -- Propiedades de la barra de estado
27. With StatusBar1
28.
.Style = sbrNormal
' -- Estilo
29.
.Panels(1).AutoSize = sbrSpring ' -- ajustar al ancho
30. End With
31. ' -- Propiedades iniciales de la fuente
32. With Check1
33.
.FontName = "Verdana"
34.
.FontSize = 12
35.
.FontBold = True
36. End With
37. End Sub
38.
El ejemplo est hecho con dos controles image, uno llamado ImageCheck, que tiene
cargado el grfico para mostrar el valor checkeado, el otro control Image llamado
ImageUncheck, tiene el otro grfico sin el check. Luego al presionar los controles
Image, en el evento click, si el ImageUncheck est visible, se oculta, si est invisible se
visualiza, y los mismo con el otro image.