Anda di halaman 1dari 40

CAPITULO III INDICE DE CONTENIDO

III. CONTROLES BSICOS ADICIONALES ..................................... 55 Principales propiedades del control CheckBox .................. 55 Principales propiedades de los botones de opcin .............. 57 Principales propiedades de las cajas de listas .................... 61

III.1. Control Casilla de Verificacin (CheckBox) ............................. 55 III.1.i. III.2.i. III.3.i. III.2. Botones de Opcin (OptionButton) .......................................... 57 III.3. Cajas de listado (ListBox)....................................................... 59 III.3.i.1. Seleccin mltiple ............................................................ 62 III.3.i.2. Agregar elementos............................................................ 62 III.3.i.3. Eliminar elementos........................................................... 63 III.4. Cajas combinadas (ComboBox) ............................................... 67 III.4.i. III.5.i. III.6.i. Principales propiedades de los combos .............................. 67 Principales propiedades de los marcos .............................. 71 Principales propiedades de las cajas de listado de unidades 73 III.5. Marco (Frame) ...................................................................... 68 III.6. Cajas de listado de unidades (DriveListBox) ............................ 73 III.7. Cajas de listado de directorios (DirListBox) ............................ 74 III.7.i. Principales propiedades de las cajas de listado de directorios 74 III.8. Cajas de listado de archivos (FileListBox)............................... 74 III.8.i. III.9.i. Principales propiedades de las cajas de listado de archivos 74 Principales propiedades del temporizador ......................... 76 III.9. Temporizador (Timer)........................................................... 75 III.10. Barras de desplazamiento: Horizontal (HscrollBar) y Vertical (VscrollBar) .................................................................................. 80 III.10.i. Principales propiedades de las barras de desplazamiento... 80 III.11. Arreglo de controles ......................................................... 84 III.11.i. Ventajas ........................................................................... 84 III.11.ii. Crear un arreglo de controles ........................................... 85 III.12. Ejercicios propuestos ....................................................... 88

LABORATORIO II AO 2008

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

Pgina 54

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 55

III. CONTROLES BSICOS ADICIONALES

III.1.

Control Casilla de Verificacin (CheckBox)

Las casillas de verificacin 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. Las opciones son del tipo Si/No o Activado/Desactivado . Son ideales para desplegar muchas opciones, siempre que se pueda elegir una o ms de ellas; tambin se puede no seleccionar ninguna.

III.1.i. Principales propiedades del control CheckBox


Cuando el usuario selecciona una opcin, la casilla se encuentra activa y en el control se aprecia R , de lo contrario est vaca. Pero existe el estado atenuado que se representa por una tilde sobre fondo 0 - UnChecked (sin chequear) grisceo. La principal propiedad de este 1 - Checked (chequeado) control Value determina el estado. Esta 2 - Grayed (deshabilitado) propiedad devuelve y establece el valor seleccionado. El siguiente ejemplo presenta un formulario en el cual se realiza una encuesta.
Cuando se presiona en el botn de comando Muestra Resultado se mostrar un mensaje del resultado de la encuesta, evaluando la propiedad Value de cada Checkbox. Antes de evaluar los CheckBox se comprueba que se haya ingresado un texto en el Text1, si no se ingres nada, se muestra un mensaje de advertencia y se termina la rutina mediante la instruccin Exit Sub, si se ingres un nombre, prosigue l a ejecucin del resto del cdigo.

1. Ejemplo de la propiedad VALUE

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

El cdigo del evento asignado al botn Muestra Resultados


Private Sub cmdMuestra_Click() 'Variable que almacenar los datos para mostrar el resultado al final de la rutina Dim Resultado As String 'Esto verifica si el cuadro de texto no est vaco y se ha ingresado un nombre If txtNombre = "" Then 'si est vaco muestra el mensaje MsgBox "Debe ingresar un nombre", vbExclamation, "encuesta" 'Mediante Exit Sub sale de la rutina para no ejecutar las lneas que debajo Exit Sub End If 'En la Variable Resultado se guarda el nombre que se ingres en text1 Resultado = txtNombre ' Evalua Check1 (Espaa) If chk1.Value = 0 Then Resultado = Resultado & " no deseas ir a " & chk1.Caption Else Resultado = Resultado & " deseas ir a " & chk1.Caption End If 'Le agrega a la variable Resultado un salto de carro o salto de lnea Resultado = Resultado & vbNewLine ' Evalua Check2 (Francia) If chk2.Value = 0 Then Resultado = Resultado & " no deseas ir a " & chk2.Caption Else Resultado = Resultado & " deseas ir a " & chk2.Caption End If 'Otro salto de carro Resultado = Resultado & vbNewLine ' Evalua Check3 (Alemania) If chk3.Value = 0 Then Resultado = Resultado & " no deseas ir a " & chk3.Caption Else Resultado = Resultado & " deseas ir a " & chk3.Caption End If 'Muestra el valor de la variable Resultado con la informacin MsgBox Resultado End Sub

Pgina 56

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 57

III.2.

Botones de Opcin (OptionButton)

Un control OptionButton muestra una opcin que se puede activar o desactivar, pero con dependencia del estado de otros controles del mismo tipo que existan en el formulario. Son tiles para presentar un conjunto de opciones al usuario con el propsito que slo pueda elegir una. Los botones deben estar agrupados, para ello, deben estar colocado en el mismo control o formulario, es decir, los botones de opcin que se encuentran directamente encima del formulario se agruparn y slo se podra elegir una de ellas.

Nota: No se debe confundir las cajas de verificacin con los botones de opcin. Las primeras admiten una o ms opciones seleccionadas en cambio en los botones de opcin, el usuario puede elegir slo una.

Si durante una prueba se observa que se pudo escoger ms de una opcin es porque el botn de opcin no qued agrupado sino que qued fuera del rea del grupo, por lo tanto se lo reubica en el diseo. Para ello se corta el control y se lo pega ubicndolo dentro del rea.

III.2.i. Principales propiedades de los botones de opcin


Los botones de opcin poseen las mismas propiedades de los botones de comando de la cual se destaca Caption que muestra el texto indicador de la funcin de ese botn y Value, comn al CheckBox, indica si el control esta seleccionado o no.

2. Ejemplo de VALUE:

Como se dijo anteriormente un control PictureBox permite contener otros controles, por lo tanto es posible agrupar botones de opcin en l. Esto se logra dibujando dentro del control PictureBox cada uno de los botones de opcin. As se ubicaron los botones de opcin del Pas de nacimiento.

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

El cdigo para cada control de Opcin


Private Sub optArgt_Click() If optArgt.Value Then MsgBox "Ud. es argentino/a", vbInformation, "Nacionalidad" End If End Sub Private Sub optClmb_Click() If optClmb.Value Then MsgBox "Ud. es colombiano/a", vbInformation, "Nacionalidad" End If End Sub Private Sub optUrgy_Click() If optUrgy.Value Then MsgBox "Ud. es uruguayo/a", vbInformation, "Nacionalidad" End If End Sub

3. Ejemplo de OptionButton: En ste proyecto se permite mover, dentro de la venta de la aplicacin, una caja de texto y a su vez, modificar el color de fondo de la misma segn cuatro colores diferentes.

El cdigo para cada control de Opcin


Private Sub Form_Load() txtCaja.Top = 0 End Sub Private Sub optArriba_Click() txtCaja.Top = 0 End Sub Private Sub optAbajo_Click() txtCaja.Top = frmColores0.ScaleHeight - txtCaja.Height End Sub Private Sub optAzul_Click() txtCaja.BackColor = vbBlue End Sub

Pgina 58

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008


Private Sub optRojo_Click() txtCaja.BackColor = vbRed End Sub Private Sub optVerde_Click() txtCaja.BackColor = vbGreen End Sub Private Sub optAmarillo_Click() txtCaja.BackColor = vbYellow End Sub

CAPITULO III Pgina 59

Cuando el nmero de opciones se aumenta considerablemente es conveniente crear un arreglo de controles 1 y utilizar el ciclo For Next.

Nota: con respecto a la forma de expresar su valor, la propiedad Value , presenta una diferencia entre los botones de opcin con los de verificacin cuando est seleccionado, es decir cuando la propiedad est en True . Para OptionButton es indistinto: Option1.Value = True o Option1.Value = 1 Para CheckBox solamente es posible: Check1.value = 1.

III.2.ii.

Botones de Opcin grficos

Con la propiedad Style que o establece un valor que indica el tipo de muestra y el comportamiento del control, se puede establecer botones de opcin grficos. Sintaxis: objeto.Style Los valores son los mismos que para el control CommandButton: 0 Standar (Predeterminado). Estndar. El control OptionButton aparece como un botn de opcin con una etiqueta a su lado. 1 - Graphical. El control se muestra con un estilo grfico. El OptionButton aparece como un botn tipo CommandButton que permanece suelto o presionado hasta que se seleccione otro OptionButton de su grupo de opciones.

Ver al final del captulo.

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

4. Ejemplo de OptionButton grficos:

En ste proyecto, al seleccionar uno de los botones de opcin aparece un mensaje con un texto de acuerdo a la opcin elegida. Al iniciar la aplicacin ningn botn se encuentra seleccionado. Se utiliz un arreglo de botones (Ver al final de captulo).

El cdigo para los controles de Opcin


Private Sub Form_Load() Dim i As Integer For i = 0 To 3 optAnimo(i).Value = False Next i End Sub Private Sub optAnimo_Click(Index As Integer) 'Se utiliza un arreglo de botones de opcin 'Index es el ndice de cada elemento del arreglo Dim mensaje As String If Index = 0 Then mensaje = "Contento!!" ElseIf Index = 1 Then mensaje = "Preocupado?!" ElseIf Index = 2 Then mensaje = "Mal." Else mensaje = "Furioso!!" End If MsgBox "Usted est " & mensaje, vbExclamation, "Estado de nimo" End Sub 'ningn botn est seleccionado 'dimensiona la variable para el ndice de cada control

III.3.

Cajas de listado (ListBox)

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. Los elementos pueden colocarse en la lista en tiempo de diseo o en tiempo de ejecucin. Pgina 60

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 61

III.3.i. Principales propiedades de las cajas de listas


La propiedad List sirve para agregar en tiempo de diseo los elementos que se deseen, en este caso, cada vez que se coloque un elemento se presiona la combinacin de teclas [ C t r l ] + [ E n t e r ] para pasar al siguiente elemento. La lista enumera los elementos desde el nmero 0 (primer elemento) hasta el ltimo que tendra como valor de ndice el n-1 . Para obtener un elemento en particular utilice la codificacin: List1.List(ndice) El valor del primer elemento lo devuelve: List1.List(0) Posee dos propiedades disponibles en tiempo de ejecucin ListCount y ListIndex.

Propiedad
Columns ListCount ListIndex MultiSelect NewIndex Selected Sorted Style

Descripcin
Establece si los controles se mostrarn en columnas por medio de barras de desplazamiento horizontales. Si el valor es 0 no posee columnas. Otro valor muestra el listado en la cantidad de columnas especificado. Se aplica a cualquier estilo de caja de listado. Representa el nmero de elementos del listado, por lo tanto el ltimo elemento tiene el ndice ListCount-1. Representa el elemento seleccionado. Si no hay elemento seleccionado esta propiedad posee el valor -1 . Permite seleccionar varios elementos de la lista. Sus valores son 0 : ningn elemento, 1 : seleccin simple y 2 : seleccin mltiple. Devuelve el ndice del ltimo elemento agregado a un control ComboBox o ListBox. Es de slo lectura en tiempo de ejecucin. Devuelve o establece el estado de seleccin de un elemento. Es una matriz de valores booleanos con el mismo nmero de elementos que la propiedad List. Propiedad booleana. Permite ordenar automticamente los elementos de la lista. True : ordena alfabticamente los elementos ingresados. Establece el estilo del control. Sus posibles valores: 0 Standar y 1 CheckBox, permite agregarle caja de verificacin.

Mediante la propiedad ListIndex se puede conocer el ndice del elemento seleccionado y su contenido mediante un vector List(i) donde se guardan los elementos de la lista. Entonces el valor del elemento actual de un control llamado lstLista es: lstLista.List(lstLista.ListIndex)

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

III.3.i.1.

Seleccin mltiple

Las listas con estilo CheckBox permiten seleccionar varios elementos de la lista marcando una tilde a todos los elementos deseados. Esto tambin se consigue si la propiedad Style = 0 - Standar se combina con la propiedad

MultiSelect = 1 - Simple.
Nota: Cuando la propiedad Style es 1-CheckBox la propiedad MultiSelect debe ser 0 None.

ListIndex indica siempre el elemento actual pero no todos los elementos

seleccionados en una seleccin mltiple. Para saber cules estn seleccionados y cules no lo estn, se puede utilizar la propiedad Selected. Su sintaxis: List1.Selected(ndice) [=valor] El valor True o False se usa para seleccionar o no un elemento.

5. Ejemplo de seleccin mltiple: Las listas tienen las propiedades: 1 lista Multiselect = 2 Extended 2 lista Multiselect = 1 Simple 3 lista Multiselect = 0 None Style = 1 - CheckBox

El cdigo de los eventos


Private Sub cmdEscribe_Click() Dim i As Integer 'Dimensiona una variable contador 'Para saber cules estn seleccionados y cules no 'Se utiliza la propiedad Selected For i = 0 To lstUno.ListCount - 1 If txtUno = "" Then txtUno = lstUno.List(i) Else End If End If Next i 'Se recorre todos los elementos de la lista 'Si txtUno esta vaco, es la primera seleccin 'escribe la primera seleccion 'concatena If lstUno.Selected(i) = True Then

'si ya contiene una seleccin

txtUno = txtUno & vbCrLf & lstUno.List(i)

Pgina 62

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008


End Sub Private Sub Form_Load() txtUno = "" End Sub Private Sub lstUno_Click() 'Cuando empieza a seleccionar si txtUno tena selecciones If txtUno <> "" Then txtUno = "" End If End Sub

CAPITULO III Pgina 63

'Inicia la aplicacin borrando la caja de texto

'borra para escribir las nuevas selecciones

III.3.i.2.

Agregar elementos

Adems de agregar en tiempo de diseo los elementos, es muy comn agregarlos en tiempo de ejecucin mediante el mtodo Additem. List1.Additem "Elemento" [, ndice] Elemento es la cadena de caracteres del elemento a agregar. El ndice es opcional, si no se incluye, el elemento se colocar al final de la lista.

Se agrega un elemento al principio de la lista:

Private Sub cmdAgrega_Click() lstColores.AddItem txtElem, o End Sub

Si se agrega al final de la lista es:

Private Sub cmdAgrega_Click() lstColores.AddItem txtElem End Sub

Si se agrega un elemento en una posicin mayor a la cantidad de elementos del listado, se produce Error.

III.3.i.3.

Eliminar elementos

El mtodo RemoveItem permite eliminar un elemento especfico de las cajas de listado. Su sintaxis: List1.RemoveItem ndice , donde ndice es la posicin del elemento a eliminar. Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

Para eliminar el ltimo elemento de una lista: List1.RemoveItem List1.ListCount -1 Para eliminar el elemento actual: List1.RemoveItem List1.ListIndex

Nota: Se debe tener mucho cuidado al utilizar RemoveItem en lneas seguidas de cdigo ya que al borrar un elemento se actualiza el total de tems de la lista y esto puede afectar a una posterior lnea de cdigo que incluya este mtodo.

Si se intenta utilizar RemoveItem con un ndice que no existe, se produce Error, por lo tanto, antes se debe verificar que la propiedad ListIndex no contenga el valor -1, que indica que no hay ningn tem seleccionado: If List1.ListIndex <> -1 then List1.RemoveItem List1.ListIndex End If Asimismo es posible borrar todos los elementos del control mediante el mtodo Clear. Su sintaxis:

List1.Clear

6. Ejemplo completo. Formulario para seleccionar, modificar, eliminar o agregar un color de auto.

Contiene los siguientes controles :

Pgina 64

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008


Control PictureBox ListBox Nombre Picture1 lstColores

CAPITULO III Pgina 65

Propiedades AutoSize Picture List

Valor
False D:\auto2.wmf Rojo Verde Azul Amarillo Violeta Gris oscuro Gris plateado Negro Color de su auto 0 - Transparent Arial 10, negrita &Modifica Verdana 9, negrita 2 True False 0 - Standar &Elimina Verdana 9, negrita 3 True False 0 - Standar &Agrega Verdana 9, negrita 4 True True 0 Standar &Selecciona Verdana 9, negrita 1 True False 1 - Graphical &H0080C0FF& Otro color: 0 - Transparent Arial, 10 negrita True (Vaco) Arial, 10 negrita 0 Elemento actual: Arial 10 Total elementos: Arial 10

Label commandButton

Label1 cmdModif

commandButton

cmdElimina

commandButton

cmdAgrega

commandButton

cmdSelecciona

Label TextBox

Label1 txtElem

Label Label Label

Label2 Label3 lblActual

Caption BackStyle Font Caption Font TabIndex TabStop Default Style Caption Font TabIndex TabStop Default Style Caption Font TabIndex TabStop Default Style Caption Font TabIndex TabStop Default Style BackColor Caption BackStyle Font Enabled Text Font TabIndex Caption Font Caption Font Caption

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic


Font Caption Font Caption Font TabIndex TabStop Default Style Picture

Mg. Ing. Ftima Martnez


Arial 10, negrita Arial 10, negrita &Salir Verdana 9, negrita 0 True False 1 Graphical D:\cancel2.jpg

Label commandButton

lblTotal cmdSalir

El cdigo de los eventos asignados a cada botn de comando


Private Sub cmdAgrega_Click() 'si caja de texto no esta vaca If txtElem <> "" Then 'Se agrega al final de lista lstColores.AddItem txtElem 'Se vacia el contenido de caja de texto txtElem = "" End If ' El valor de los ndices lblTotal = lstColores.ListCount lblActual = lstColores.ListIndex 'Agrega y lleva la seleccin al elemento agregado que tiene ndice NewIndex lstColores.Selected(lstColores.NewIndex) = True txtElem.SetFocus 'pone el foco en la caja de texto End Sub Private Sub cmdElimina_Click() Dim i As Integer una variable local para enteros 'Si hay un elemento seleccionado If lstColores.ListIndex <> -1 Then 'Elimina el elemento actual i = lstColores.ListIndex lstColores.RemoveItem lstColores.ListIndex End If 'Modifica el valor de los ndices lblTotal = lstColores.ListCount lstColores.ListIndex = 0 lblActual = lstColores.ListIndex txtElem.SetFocus 'pone el foco en la caja de texto End Sub Private Sub cmdModif_Click() 'Si el contenido no es vaco If txtElem <> "" Then 'Modificamos el elemento actual de la lista lstColores.List(lstColores.ListIndex) = txtElem End If

Pgina 66

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008


txtElem = "" txtElem.SetFocus End Sub Private Sub cmdSalir_Click() End End Sub Private Sub cmdSelecciona_Click() If lstColores.ListIndex <> -1 Then txtElem = lstColores.List(lstColores.ListIndex) End If End Sub Private Sub Form_Load() lstColores.ListIndex = 0 lblActual = lstColores.ListIndex lblTotal = lstColores.ListCount End Sub Private Sub lstColores_Click() lblActual = lstColores.ListIndex End Sub

CAPITULO III Pgina 67

III.4.

Cajas combinadas (ComboBox)

Un control ComboBox mezcla las caractersticas de las cajas de listado, ListBox, con las de cajas de texto, TextBox. De manera que presenta la posibilidad de elegir de una lista un elemento de inters, pero adems, puede obviar cualquier opcin y agregar nuevos elementos escribiendo en el control de cuadro de texto. La diferencia con las listas es que no se pueden hacer mltiples selecciones.

III.4.i. Principales propiedades de los combos


Posee las propiedades, mtodos y eventos de la lista como tambin de los cuadros de texto. As, mediante las propiedades ListCount y ListIndex se puede conocer el total de elementos y el ndice del tem seleccionado. Tambin el vector List puede usarse en este control para conocer el valor de un elemento. As mismo se puede agregar un elemento en tiempo de ejecucin por el mtodo AddItem; eliminar un elemento mediante RemoveItem o borrar toda la lista con Clear. Mediante la propiedad Sorted es posible ordenar la lista y la propiedad Style permite usar los combos de tres formas diferentes. Sus posibilidades de valores:
N 0 Estilo caja combinada desplegable Caracterstica Mezclan las cajas de texto con los cuadros de listado. Se puede ingresar un valor en la caja de texto o seleccionar un elemento.

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

combo simple

Presenta una caja de texto y una lista siempre visible, no desplegable. Se puede seleccionar elementos de la lista o escribir valores nuevos. Similar a la caja de listado ya que slo se puede seleccionar un elemento de la lista. Presentan una caja de texto pero no permiten el ingreso de nuevos valores, sino que al hacer clic se despliega el listado completo.

lista desplegable

En la siguiente ilustracin se representan los estilos 0 y 1 :

Aqu se puede escribir un nuevo elemento.

Caja combinada con lista desplegable.

Combo simple con lista a la vista.

a) Antes de la seleccin

b)Despus de la seleccin:

La imagen presenta el combo con estilo 2 : a) antes de la seleccin del usuario; b) despus que se hace clic en el control.

7. Ejemplo de estilos de combo. En el cuadro de texto Nombre se ingresa un nombre. Este es agregado mediante el botn Agregar . Tambin puede modificarse un elemento de las listas.

Pgina 68

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 69

El cdigo de los eventos Click


Private Sub cboSimple_Click() 'cuando se selecciona un elemento en el combo Simple 'se desplaza la seleccin en los otros dos combos cboDesplegable.ListIndex = cboSimple.ListIndex cboLista.ListIndex = cboSimple.ListIndex End Sub Private Sub cmdAgregar_Click() 'Si el contenido de la caja de texto txtNombre no es vaco If txtNombre <> "" Then 'Agregamos el elemento a los combos cboDesplegable.AddItem txtNombre cboSimple.AddItem txtNombre cboLista.AddItem txtNombre 'Vaciamos el contenido de la caja de texto txtNombre = "" txt Nombre.SetFocus End If cboSimple.ListIndex = cboSimple.ListCount - 1 cboDesplegable.ListIndex = cboDesplegable.ListCount - 1 cboLista.ListIndex = cboLista.ListCount - 1 End Sub Private Sub cmdModif_Click() 'Si el contenido de la caja de texto txtNombre no es vaco If txtNombre <> "" Then cboSimple.List(cboSimple.ListIndex) = txtNombre cboDesplegable.List(cboSimple.ListIndex) = txtNombre cboLista.List(cboSimple.ListIndex) = txtNombre End If txtNombre.SetFocus End Sub Private Sub cmdSalir_Click() End End Sub 'pone el foco en la caja de texto 'ponemos el foco en la caja de texto

8. Ejemplo de combo.
Llena la lista de los combos en tiempo de ejecucin. Segn sea la provincia seleccionada con un clic, el combo de las ciudades se llena con los datos correspondientes.

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

El cdigo de los eventos


Private Sub cmdAceptar_Click() Dim band As Integer 'dimensiona una variable local band = 0 'variable bandera en 0 'posiciona el foco en el control que no ha sido llenado 'y cambia bandera en 1 If cmbProvin.ListIndex = -1 Then cmbProvin.SetFocus band = 1 'bandera en 1 ElseIf cmbDpto.ListIndex = -1 Then cmbDpto.SetFocus band = 1 Text3.SetFocus band = 1 End If If band = 1 Then 'Si los datos no se ingresaron band =1 'presenta mensaje que avisa no se llenaron todos los datos MsgBox "Datos Incompletos", vbCritical, "Alerta!!!" Else 'Si se ingresaron todos los datos band=0 'presenta mensaje que avisa que han sido llenados todos los datos MsgBox "Datos completos", vbInformation, "Ale rta!!" End If End Sub Private Sub cmbProvin_Click() 'Cuando selecciona una provincia 'Habilita el combo de las ciudades para el ingreso cmbDpto.Enabled = True 'llena con el combo con las ciudades de Tucumn If cmbProvin.ListIndex = 0 Then cmbDpto.AddItem "San Miguel de Tucumn" cmbDpto.AddItem "Yerba Buena" cmbDpto.AddItem "Aguilares" 'llena con el combo con las ciudades deSalta ElseIf cmbProvin.ListIndex = 1 Then cmb Dpto.AddItem "Salta" cmbDpto.AddItem "Orn" cmbDpto.AddItem "Metn" 'llena con el combo con las ciudades de Santiago ElseIf cmbProvin.ListIndex = 2 Then cmbDpto.AddItem "Santiago del Estero" cmbDpto.AddItem "Termas del Ro Hondo" cmbDpto.AddItem "Fras" End If End Sub Private Sub cmdLimpiar_Click() cmbDpto.Clear 'Borra el combo de las ciudades 'bandera en 1 'bandera en 1 ElseIf Text3 = "" Then

Pgina 70

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008


'Borra contenido Text3 = ""

CAPITULO III Pgina 71

cmbProvin.SetFocus 'Pone el foco en el combo de las provincias cmbProvin.ListIndex = -1 End Sub Private Sub cmdTerminar_Click() End End Sub Private Sub Form_Load() 'Inicia la aplicacin cargando el combo de las provincias cmbProvin.AddItem "Tucuman" cmbProvin.AddItem "Salta" cmbProvin.AddItem "Santiago" 'Deshabilita el combo de las ciudades cmbDpto.Enabled = False End Sub 'no selecciona ninguna

III.5.

Marco (Frame)

Este control permite agrupar otros controles para darle mayor funcionalidad a la interfaz. Esto lo hace especial porque acta como contenedor de otros controles. Se puede utilizar un control Frame para subdividir un formulario funcionalmente, por ejemplo, para separar grupos de controles OptionButton. Para agrupar controles, se dibuja primero el control Frame y a continuacin, los controles dentro del marco. Si se traza un control fuera del Frame y a continuacin se intenta moverlo dentro de ste, el control se colocar sobre el Frame, pero no formar parte del contenedor.

III.5.i. Principales propiedades de los marcos


La apariencia de los marcos se define mediante las propiedades conocidas Caption, Appearance y BorderStyle. Cuando un control Frame conteniendo otros controles se hace invisible mediante su propiedad Visible = False , los controles de su interior quedan tambin invisibles.

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

9. Ejemplo de la propiedad Visible Al mostrar y ocultar el marco tambin se muestran u ocultan todos los controles de su interior.
Private Sub cmdMostrar_Click() 'Muestra el marco frmMarco.Visible = True End Sub Private Sub cmdOcultar_Click() 'Oculta el marco frmMarco.Visible = False End Sub

10. Ejemplo completo de Frame Selecciona la Carrera y la Universidad en donde un alumno desea estudiar

Contiene los siguientes controles:


Control Frame Label commandButton OptionButton Nombre frmCarreras Label1 cmdSalir optCarrera(0) optCarrera(1) optCarrera(2) optCarrera(3) frmInstitu Propiedades Visible Caption Font Caption Font AutoSize Caption Style Picture Caption Caption Caption Caption Font Visible Valor
True Carreras Arial 11, negrita (vaco) Verdana 10 True (vaco) 1 Graphical D:\cancel2.jpg Ingeniera Arquitectura Letras Arte Arial 11, negrita True

Frame

Pgina 72

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008


Caption Font Caption Caption Caption Font

CAPITULO III Pgina 73

OptionButton

optInstitu(0) optInstitu(1) optInstitu(2)

Institucin Arial 10, negrita UNT UTN UNSTA Arial 10, negrita

El cdigo de los eventos asignados


Public strCarrera As String, strInstitucion As String Private Sub cmdSalir_Click() End End Sub Private Sub optCarrera_Click(Index As Integer) strCarrera = optCarrera(Index).Caption Call Display End Sub Private Sub optInstitu_Click(Index As Integer) strInstitucion = optInstitu(Index).Caption Call Display End Sub Private Sub Display() Label1 = "Ha decidido estudiar " & strCarrera & " en la " & strInstitucion End Sub

III.6.

Cajas de listado de unidades (DriveListBox)


Son cajas de listado desplegables que permiten al usuario seleccionar una unidad de disco disponible en la PC en tiempo de ejecucin. Comienzan mostrando la unidad actual y para ver el resto de las unidades vlidas se hace clic sobre el botn 6 .

III.6.i. Principales propiedades de las cajas de listado de

unidades

Una de las propiedades ms importantes es Drive no disponible en tiempo de diseo . Otras son List , ListCount y ListIndex que permiten manipular la lista de forma similar a cualquier caja de listado.

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

Propiedad
Drive List ListCount ListIndex

Descripcin
Devuelve o establece la unidad seleccionada en tiempo de ejecucin. Contiene la lista de conexiones de unidad efectivas. Devuelve el nmero de conexiones con unidades de disco. Devuelve o establece el ndice del elemento seleccionado actualmente en el control. No est disponible en tiempo de diseo.

III.7.

Cajas de listado de directorios (DirListBox)


Muestra directorios y rutas de acceso en tiempo de ejecucin. Es til para mostrar una lista jerrquica de directorios. Por defecto muestra el directorio actual sobre el cual se est ejecutando la aplicacin.

III.7.i. Principales propiedades de las cajas de listado de

directorios

Adems de las propiedades: List, ListCount y ListIndex posee otra muy importante: Path que permite establecer o devolver la ruta de acceso actual. Su sintaxis: objeto.Path = [ruta]

III.8.

Cajas de listado de archivos (FileListBox)


Muestra los archivos del directorio especificado por la propiedad Path en tiempo de ejecucin. Es til para mostrar una lista de los archivos seleccionados por tipo.

III.8.i. Principales propiedades de las cajas de listado de

archivos

Adems de las propiedades: List, ListCount, ListIndex y Path que especifica la ruta de acceso para obtener el listado de archivos, posee otras:

Pgina 74

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 75

Propiedad
FileName Pattern

Descripcin
Devuelve o establece el nombre de un archivo seleccionado. Devuelve o establece un valor que indica los nombres de archivo mostrados en tiempo de ejecucin. Es til para filtrar los archivos a mostrar, por ejemplo: *.* o *.frm.

Al igual que la caja de listado de directorios reconoce los eventos Click y DblClick del mouse, as como los de teclado KeyDown, KeyUp y KeyPress.

11. Ejemplo completo de Cajas de listado Selecciona un archivo de una carpeta dentro de una unidad.

El cdigo de los eventos asignados a cada caja de listado


Private Sub Dir1_Change() 'Segundo establece los archivos del directorio File1.Path = Dir1.Path End Sub Private Sub Drive1_Change() 'Primero establece los directorios de la unidad Dir1.Path = Drive1.Drive End Sub Private Sub File1_Click() Selecciona un archivo lblArchivo = File1.FileName muestra el archivo seleccionado en una etiqueta End Sub

III.9.

Temporizador (Timer)

Permite ejecutar cdigo a intervalos peridicos produciendo un evento Timer. Este control es muy til para crear aplicaciones donde se necesita llevar un control de tiempo o cuando se desea que el programa repita una accin cada cierto intervalo de tiempo. Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

Este control solamente se ve durante el tiempo de diseo; en tiempo de ejecucin, permanece invisible. Para agregarlo al proyecto se debe hacer doble clic en su icono de la caja de herramientas. Se emplean generalmente para: Crear imgenes que se desplazan. Controlar la velocidad de animaciones sencillas. Presentar una pantalla de inicio que desaparezca luego de 1 o 2 segundos. Mostrar una cantidad de tiempo transcurrido.
Nota: No se debe abusar de su uso en los programas porque consume muchos recursos del sistema. Windows slo permite 16 timers simultneos.

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.

III.9.i. Principales propiedades del temporizador


Las propiedades ms importantes son Interval y Enabled. Propiedad
Enabled Interval

Descripcin
Propiedad booleana. Activa o desactiva el control. False desactiva el control, se cancela la cuenta establecida por la propiedad Interval del control. Devuelve o establece el nmero de milisegundos que debe esperar el programa para generar el evento

Timer . Los valores admitidos para milisegundos son 0

(predeterminado) que desactiva el control o de 1 a 65535 milisegundos que equivale a poco ms de un minuto.

Todo el cdigo relacionado con este control se introduce en el evento Timer, el cual se produce cada vez que se cumple un intervalo completo. Milisegundo equivale a un segundo dividido en 1000, es decir para un retardo de un segundo la propiedad Interval ser igual a 1000. En el siguiente ejemplo se establece el valor del intervalo en el evento Load del formulario y el color del texto de la etiqueta cambia en el evento Timer para dar el efecto de texto titilante. Private Sub Form_Load() se establece el intervalo en Timer1.Interval = 250 se activa el temporizador Timer1.Enabled = True

12. Ejemplo sencillo de Timer Pgina 76

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 77

End Sub Private Sub Timer1_Timer() procedimiento del temporizador en cada intervalo If lbl1.ForeColor = vbBlack then lbl1.Forecolor = vbRed Else Lbl1.ForeColor = vbBlack End if End Sub

13. Ejemplo de Timer Barra de progreso a partir de un control Timer.

En tiempo de diseo se establece para el control Timer1:

Interval = 100 Enabled = True (habilita el Timer)

El cdigo del evento Timer()


Private Sub Timer1_Timer() Procedimiento que se ejecuta en un intervalo del control Timer1 Se ejecute al iniciar la aplicacin porque Enabled es True 'Si Enabled es False no se ejecuta este procedimiento If lblProgreso.Width < 4215 Then La etiqueta aumenta su ancho en cada intervalo del control Timer1 lblProgreso.Width = lblProgreso.Width + 100 Else lblProgreso.Width = 4215 Determina el ancho mximo de la etiqueta 'Deshabilita el control Timer1 es decir deja de ejecutar el procedimiento Timer1.Enabled = False End If End Sub

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

14. Ejemplo de Timer Album de fotos a partir de un control Timer.

En tiempo de diseo se establece para el control Timer1:

Interval = 250 Enabled = True (habilita el Timer)


Se agrega en el centro del formulario un control Image : Name = imgDibu con la propiedad Picture = Image37.gif . Este va cambiando su imagen en cada intervalo del control Timer1 .

Para establecer la ruta de acceso actual (en la que se encuentra el proyecto), se utiliza la propiedad Path. No est disponible en tiempo de diseo. Para el objeto App es de slo lectura en tiempo de ejecucin. La sintaxis es: A p p . P a t h

El cdigo del evento Timer()


Private Sub Timer1_Timer() 'define un contador como una variable esttica 'la cual no cambia al salir del procedimiento Static a As Integer a=a+1 'incrementa el contador en cada intervalo 'Si el contador lleg a 5

If a = 5 Then

'carga otra imagen, utiliza App.Path para establecer la ruta actual imgDibu.Picture = LoadPicture(App.Path + "\image\Image38.gif") ElseIf a = 20 Then 'si no si el contador lleg a 20, carga otra imagen imgDibu.Picture = LoadPicture(App.Path + "\image\Image39.gif") ElseIf a = 35 Then 'si no si contador lleg a 35, carga otra imagen imgDibu.Picture = LoadPicture(App.Path + "\image\Image40.jpg")

Pgina 78

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008


End If End Sub

CAPITULO III Pgina 79

15. Ejemplo de Timer Album de imagenes a partir de un control Timer.

Para el control Timer1 se establece, en tiempo de diseo :

Interval = 250 Enabled = True (habilita el Timer)


Se agregan, en tiempo de diseo , en el formulario 4 imgenes: Image1, Image2,

Image3, Image4 con la propiedad Visible = False y para cada una se asigna una
imagen en la propiedad Picture. Se agrega una imagen Image5 en el centro del formulario , con la imagen de un cuadro, sobre la cual irn apareciendo de una en una las imgenes en cada intervalo del control Timer1. Por ltimo se agrega una imagen imgFoto, en la misma posicin del control Image5 , la cual ir tomando en cada intervalo del control Timer1 el valor del

Picture de cada una de las imgenes que se encuentran ocultas en el formulario.

El cdigo del evento Timer()


Option Explicit Dim A As Integer 'Declara la variable a nivel de modulo 'A - esta disponible para todos los procedimientos Private Sub cmdReini_Click() procedimiento del botn Reiniciar Timer1.Enabled = True 'Activa el Timer para reiniciar su ejecucin 'Inicializa la variable A=0 End Sub Private Sub Timer1_Timer() A=A+1 If A = 3 Then imgFoto.Picture = Image1.Picture toma el valor del Picture de Image1

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic


ElseIf A = 6 Then

Mg. Ing. Ftima Martnez

imgFoto.Picture = Image2.Picture toma el valor del Picture de Image2 ElseIf A = 9 Then imgFoto.Picture = Image3.Picture toma el valor del Picture de Image3 ElseIf A = 12 Then imgFoto.Picture = Image4.Picture toma el valor del Picture de Image4 Timer1.Enabled = False ' desactiva el Timer1 End If End Sub

III.10.

Barras de desplazamiento: Horizontal (HscrollBar) y Vertical (VscrollBar)


Las barras de desplazamiento se utilizan en las aplicaciones para desplazarse horizontal o verticalmente cuando hay gran cantidad de informacin o cuando los controles toman gran tamao. Tienen la misma finalidad de aquellas que aparecen en los cuadros de texto cuando el contenido de su propiedad Text sobrepasa el tamao de los mismos o las que aparecen en un cuadro de lista o combinado cuando el nmero de elementos es mayor al tamao designado para la muestra de ellos. Ambas barras: horizontal (HscrollBar) y vertical (VscrollBar) trabajan de la misma manera slo se diferencian en la orientacin. Devuelven un valor numrico el cual puede ser usado de manera conveniente en una aplicacin. Son ideales para ingresar valores numricos grficamente. Las flechas se utilizan para desplazarse distancias reducidas. La barra para moverse a grandes saltos. El botn llamado dedo gordo puede ser arrastrado para desplazarse a una posicin especfica de la barra.

III.10.i.

Principales propiedades de las barras de desplazamiento

Como se mencion, las barras de desplazamiento devuelven un valor numrico, por lo tanto existen cinco propiedades que controlan esos nmeros: Value, Max, Mn, SamallChange y LargeChange .

Propiedad
LargeChange Max

Descripcin
De 1 a 32767. Cantidad de cambio cuando el usuario hace clic en la barra que se encuentra entre una flecha y el dedo gordo. Mximo valor de desplazamiento cuando el botn se encuentra en la posicin ms alta. Valor predeterminado: 32767.

Pgina 80

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 81

Propiedad
Min SmallChange Value

Descripcin
Mnimo valor del desplazamiento cuando el botn se encuentra en la posicin ms baja. Valor predeterminado: 0 . De 1 a 32767. Controla la cantidad en que aumenta o disminuye Value. Es la cantidad de cambio cuando el usuario hace clic en la flecha de desplazamiento. Valor actual en la escala de valores.

Normalmente la propiedad LargeChange suele ajustarse a un valor que represente el 10% del intervalo total. Por ejemplo, para una barra que se desplace entre 1 a 100 el valor LargeChange puede ser 10 y el de SamallChange puede ser 1.

16. Ejemplo de barra de desplazamiento vertical.

El siguiente programa sencillo permite ver la equivalencia entre las escalas de temperaturas en grados Centgrados y grados Fahrenheit. Private Sub cmdSalir_Click() End End Sub Private Sub vsbTempe_Change() txtCenti.Text = vsbTempe.Value txtFahre.Text = 32 + 1.8 * vsbTempe.Value End Sub

Control VscrollBar

Nombre vsbTemperatura

Propiedades Min Mx SmallChange LargeChange Value

Valor
100 -100 1 10 0

El evento Load del formulario es ideal para establecer los valores iniciales de la barra de desplazamiento.

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

Nota: El evento Change se activa cada vez que cambia el valor de la barra de desplazamiento mediante las flechas o la barra y el evento Scroll cuando se arrastra el dedo gordo.

17. Ejemplo de barras de desplazamiento horizontal.

La siguiente aplicacin muestra un formulario y los controles que permiten cambiar el color de la fuente y el color de fondo de una etiqueta. El control barra de desplazamiento horizontal es un arreglo de tres elementos, uno para cada color denominado hsbColor (Index). Las opciones Fondo y Texto son elementos de un arreglo de botones de opcin denominado optColor (Index). Los cuadros de texto que muestran los valores de las barras pertenecen a un arreglo denominado txtColor (Index). El evento que se programa es Change.

Un arreglo de controles esta formado por controles del m ismo tipo que comparten el nombre y los procedimientos o funciones para gestionar los eventos. Para identificar a cada uno de los controles pertenecientes al arreglo se utiliza Index que es una propiedad del control. Su utilidad principal se presenta en aquellos casos en los que el programa debe responder de forma semejante a un mismo evento sobre varios controles del mismo tipo.

Control HsbcrollBar

Nombre hsbColor()

OptionButton

optColor()

Propiedades Min Mx SmallChange LargeChange Index Value Caption Font

Valor
0 255 1 16 0, 1, 2 0 Fondo, Texto Arial, 10 negrita

Pgina 82

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008


Index Text Locked Index

CAPITULO III Pgina 83

TextBox

txtColor()

0, 1 (vaco) True 0, 1, 2

El cdigo de los eventos asignados


Option Explicit Declara las variables pblicas Public Brojo, Bverde, Bazul As Integer Public Frojo, Fverde, Fazul As Integer Private Sub cmdSalir_Click() End End Sub Private Sub Form_Load() 'Fondo Negro Brojo = 0 Bverde = 0 Bazul = 0 'Texto blanco Frojo = 255 Fverde = 255 Fazul = 255 lblTexto.BackColor = RGB(Brojo, Bverde, Bazul) lblTexto.ForeColor = RGB(Frojo, Fverde, Fazul) End Sub Private Sub hsbColor_Change(Index As Integer) 'Evento CHANGE del control barra de desplazamiento Dim i As Integer If optColor(0).Value = True Then 'Funcin RGB determina los colores lblTexto.BackColor=RGB(hsbColor(0).Value,hsbColor(1).Value, hsbColor(2).Value) For i = 0 To 2 txtColor(i).Text = hsbColor(i).Value Next i Else lblTexto.ForeColor=RGB(hsbColor(0).Value,hsbColor(1).Value, hsbColor(2).Value) For i = 0 To 2 txtColor(i).Text = hsbColor(i).Value Next i End If End Sub Private Sub optColor_Click(Index As Integer) If Index = 0 Then 'se pasa a cambiar el fondo

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic


Frojo = hsbColor(0).Value Fverde = hsbColor(1).Value Fazul = hsbColor(2).Value hsbColor(0).Value = Brojo hsbColor(1).Value = Bverde hsbColor(2).Value = Bazul Else ' Se pasa a cambiar el texto Brojo = hsbColor(0).Value Bverde = hsbColor(1).Value Bazul = hsbColor(2).Value hsbColor(0).Value = Frojo hsbColor(1).Value = Fverde hsbColor(2).Value = Fazul End If End Sub

Mg. Ing. Ftima Martnez

III.11.

Arreglo de controles

Un arreglo de controles es un grupo de controles que comparten el mismo:

Tipo de objeto. Nombre del control y estn identificados por un ndice. Procedimientos de evento.
Por ejemplo un arreglo de cajas de texto, todos sus elementos deben ser cajas de texto. Una vez creado podemos referirnos a todo el arreglo mediante su nombre o a cada elemento mediante su ndice usando parntesis, por ejemplo Text1(1). La propiedad Index determina el ndice de cada control en el arreglo. La principal utilidad de los arreglos se presenta en aquellos casos en los que el programa debe responder de forma semejante a un mismo evento sobre varios controles del mismo tipo. De esta manera el cdigo es ms fcil de escribir y mantener debido a que solo se escribe un solo procedimiento de evento para todos los controles pertenecientes al arreglo, el parmetro Index del procedimiento de evento determina desde que control ocurri el evento. El ejemplo ms claro es el de los botones de opcin. En estos casos el programa responde de manera semejante independientemente de cul es la opcin seleccionada.

III.11.i.
control.

Ventajas

Comparten el mismo nombre, no es necesario dar distintos nombres a cada Es ms fcil modificar las propiedades de todos los controles en tiempo de
ejecucin ya que podemos referirnos al subndice de cada uno.

Comparten el mismo procedimiento de suceso en cada evento, no es


necesario repetir el cdigo para cada control por separado. Es decir si Pgina 84

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 85

tenemos un arreglo con 20 botones de comando, todos tienen el mismo evento Click . Nota : tienen el mismo procedimiento.

Requiere menos recursos que tenerlos por separado. Cuando se copia un control y luego se lo pega, el nuevo control tiene las
mismas propiedades que el anterior.

III.11.ii. Crear un arreglo de controles


Un arreglo de controles se crea en tiempo de diseo en forma r pida de la siguiente manera.

Mtodo 1
1. Agregar un control al formulario, por ejemplo una caja de texto (Text1). 2. Seleccionarlo y copiarlo con CTRL + C , luego pegarlo en el formulario CTRL + V. Visual Basic pregunta mediante el siguiente mensaje si se quiere crear el arreglo: Ya existe un control Text1. Desea crear una matriz de controles? [Si] [No] Se contesta S para construir el arreglo, as Visual Basic crear un arreglo de controles que tendr los elementos T e x t 1 ( 0 ) y T e x t 1 ( 1 ) . Si no queremos crear se contesta NO y Visual Basic le asignar un nuevo nombre al control pegado.

Mtodo 2
3. Agregue un control y establezca su nombre igual al del primer control. Visual Basic le preguntar si desea crear un arreglo de controles. 4. Repita el paso 1 hasta completar el arreglo.

Mtodo 3
1. Agregue un control y establezca su propiedad Index en 0. Cuando un control es ubicado en el formulario, esta propiedad se encuentra vaca. Si se le da un valor por ejemplo 0, se establece un nuevo arreglo de controles con el nombre de ese control. 2. Copie y pegue ese control. Cada control que pegue tendr el mismo nombre del control copiado y su ndice ir incrementando de uno en uno.

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

Ejemplo 1:
Marcador de telfono. Se emplea un arreglo de cajas de texto en donde se utiliza el Index para conocer el nmero seleccionado
(Birnios y Birnios; 2003: 243).

El cdigo del evento Click de los controles


Private Sub cmdBorra_Click() txtNumero = "" End Sub Private Sub cmdSalir_Click() End End Sub Private Sub Label1_Click(Index As Integer) 'Format funcin que devuelve una cadena 'En lugar se puede usar Str funcin que transforma en cadena txtNumero = txtNumero + Format(Index) End Sub

Ejemplo 2
La siguiente aplicacin tiene un arreglo de controles para seleccionar el reporte. El procedimiento de evento es el mismo para cualquier elemento del arreglo2.
OptReport(0) OptReport(1) OptReport(2)

lblDesde lblHasta lblRango

Fundamentos de programacin en Visual Basic; http://www.cs.us.es/cursos/ai-2003/VB/VB.pdf.

Pgina 86

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 87

El cdigo del evento Click para los OptionButton


Private Sub optReport_Click(Index As Integer) Index es el ndice de cada elemento del arreglo de botones de opcin If Index = 0 Or Index = 1 Then lblRango.Enabled = False lblDesde.Enabled = False lblHasta.Enabled = False txtDesde.Enabled = False txtHasta.Enabled = False ElseIf Index = 2 Then lblRango.Enabled = True lblDesde.Enabled = True lblHasta.Enabled = True txtDesde.Enabled = True txtHasta.Enabled = True txtDesde.SetFocus End If End Sub

Ejemplo 3 La siguiente aplicacin tiene un arreglo de controles para seleccionar el estilo del texto copiado en el cuadro de texto.

El cdigo del evento Click de los controles CheckBox y OptionButton


Private Sub chkEstilo_Click(Index As Integer) If chkEstilo(0).Value = 1 Then txtOtro.Font.Bold = True pone en negrita

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic


Else txtOtro.Font.Bold = False End If If chkEstilo(1).Value = 1 Then txtOtro.Font.Italic = True Else txtOtro.Font.Italic = False End If End Sub Private Sub optMaymin_Click(Index As Integer) If Index = 0 Then saca la fuente cursiva saca negrita

Mg. Ing. Ftima Martnez

pone la fuente en cursiva

'Convierte a maysculas por medio de la funcin UCase() txtOtro = UCase(txtOtro) Else 'Convierte a minscula por medio de la funcin LCase() txtOtro = LCase(txtOtro) End If End Sub Nota: En el caso de no utilizar arreglo de controles se escribira el cdigo de los procedimientos por cada control a seleccionar.

III.12.

Ejercicios propuestos

Eje. 1) Cree una aplicacin con una caja de lista de marca de autos, con los elementos ordenados. Trabaje con la propiedad Sorted. Mediante un botn de comando agregue items a la lista desde el texto ingresado en una caja de texto y mediante otro botn elimine el item seleccionado. Incorpore a la aplicacin una caja de texto que muestre el nmero de items en la lista. Ejecute la aplicacin y chequee el cambio en la caja de texto creada al agregar un item o al eliminarlo. Eje. 2) Modifique la aplicacin anterior de tal forma que cuando el usuario haga clic en un elemento de la lista, una caja de texto muestre el nombre del auto seleccionado. Recuerde : cuando un item es seleccionado, la propiedad List1.Text contiene el texto del item seleccionado. Eje. 3) Realice una aplicacin que solicite el nombre de 10 personas. Segn se va escribiendo en una caja de texto el nombre queda incorporada en un ListBox en forma ordenada. Eje. 4) Realice una aplicacin que permita elegir un grfico de una carpeta. Para ello inserte en un formulario a. Un combo con las siguientes opciones: '*.gif', '*.jpg','*.png' b. Un control en el que se puede cambiar la unidad. Pgina 88

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 89

c. Un control en el que se puede elegir la carpeta de la unidad especificada anteriormente. d. Un control en el que se ven los ficheros que estn en la carpeta indicada anteriormente y que cumplan la norma del combo. e. Una etiqueta en la cual aparezca el mensaje I magen seleccionada XXX al seleccionar el archivo. f. Una caja de imagen donde se puede ver la imagen. Eje. 5) Realice un programa que muestre un mensaje en una etiqueta Ha sido contratado si el aspirante cumple con todos los requisitos, o No ha es contratado si no cumple todos los requisitos. a. Cambie el ttulo del formulario a Requisitos . b. Coloque tres casillas de verificacin con las siguientes opciones: Entre 20 y 30 aos; Tiene experiencia en el rea; Bilinge. c. Un botn de comando Contratar debajo de las casillas de verificacin, realizar la verificacin de cules son las opciones activadas y mostrar el mensaje en una etiqueta. d. Debajo del botn de comando ubique una etiqueta con las propiedades de tal m anera que su tamao se adecue al texto, este aparezca centrado dentro de la misma y el tipo de fuente sea Arial 12, negrita. Eje. 6) Realice un programa en cual se debe seleccionar un mes y al presionar un botn de comando, se despliegue en el cuadro de texto en nmero de mes correspondiente al Nmero de Mes. Para ello agregue en el formulario una etiqueta con el texto: Mes N; a su lado un cuadro de texto; un botn de comando Numero de Mes ; un control ComboBox. a. La lista de los meses se agrega en el combo en el momento que se carga el formulario. b. El botn de comando Numero de Mes mostrar en el cuadro de texto el nmero correspondiente al mes seleccionado en el combo. Eje. 7) Crea una aplicacin que permita realizar una de las cuatro operaciones matemticas, para ello inserta en un formulario: tres etiquetas, tres cajas de texto, una caja de combo y tres botones de comando, tal como se muestra en la figura. Considera lo siguiente: a. Las operaciones matemticas deben Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

agregarse a la lista del ComboBox en el momento que se carga el formulario. b. Al iniciar la ejecucin el foco debe estar en el cuadro de texto donde ingresa la Cantidad 1. c. El cursor pasar a la siguiente caja de texto con la tecla Tab y de all al ComboBox. d. El botn Calcular se encontrar deshabilitado mientras no se haya seleccionado ninguna de las distintas opciones de la lista. Segn la opcin seleccionada en el ComboBox realiza la operacin, siempre y cuando en las cajas de texto se haya ingresado algn valor. e. Si se ingresan valores pero en el ComboBox no se selecciona ninguna operacin el foco regresa al primer nmero, pero no se permite pasar al botn Calcular que seguir deshabilitado. f. El botn Nuevo Clculo borra el contenido de las cajas de texto, pone el foco en la primera, borra la operacin seleccionada y deshabilita el botn Calcular . g. El botn Salir termina la aplicacin, tambin debe permitirse su ejecucin con la tecla [ESC].
Nota: utilice el mtodo SetFocus para poner el foco en el control.

Eje. 8) Realice un programa que calcule el Cociente y Resto con barras de desplazamiento. Agrega en el formulario dos barras de desplazamiento horizontal; cuatro cajas de texto. Considera lo siguiente: a. Determine el valor mximo y el mnimo para cada barra de desplazamiento. b. El valor que asuman cada barra de desplazamiento determinar el dividendo y el divisor (los nmeros a dividir). c. En la primera caja de texto establezca el valor (dividendo) de la primera barra de desplazamiento; en la segunda caja de texto, el valor (divisor) de la segunda barra de desplazamiento. d. En la tercera caja de texto disponga el valor del cociente entero, en la cuarta caja de texto, el resto de la divisin.
Nota: para la divisin entera su operador es (\), para el resto utilice el operador Mod.

Pgina 90

PROGRAMADOR UNIVERSITARIO LABORATORIO II - VISUAL BASIC AO 2008

CAPITULO III Pgina 91

Eje. 9) Un restaurante de comida rpida desea instalar un sistema de men automtico. Crea una aplicacin para ello que cumpla los siguientes requerimientos:
a. Los comensales indicarn cual es su dieta r egular o vegetariana. Utiliza botones de opcin grficos. b. De acuerdo a la dieta se darn tres listas para escoger: bebidas, platillo principal y postres. c. La carga de cada uno de los elementos de las tres listas se har en tiempo de ejecucin. d. Segn las elecciones del consumidor se presentar el men completo en una caja de texto Men , por ejemplo: Pollo frito c/ensalada mixta, agua tnica y sufls de coco. Utiliza la propiedad adecuada para que admita varias lneas de texto. e. En una etiqueta delante de la caja de texto mostrars: Escogiste comida XXX segn el tipo de comida escogida. f. Limpia la caja de texto de Men para otro cliente. g. Modifica el ttulo del formulario: Restaurante tpico Nota: Usa la propiedad adecuada para hacer que la lista apropiada est accesible segn se requiera.

BIBLIOGRAFA CONSULTADA Y RECURSOS EN LA WEB Nombre Microsoft Visual Basic 6.0. Manual de Referencia Aprenda Visual Basic 6.0 Aprenda Visual Basic 6.0 como si estuviera en Primero Control CheckBox Fundamentos de Programacin en Visual Basic Visual Basic - Gua del Estudiante. Cap. 2 Visual Basic 6.0. Programacin Orientada a Objetos Autor, Edicin, Editorial / Direccin del Sitio
Birnios, B. y Birnios, M.; 2003; Manuales USERS; MP Ediciones; Buenos Aires Argentina. http://www.esnips.com/doc/a1f3a80f-ec28-4d6f-869184e59aec86fd/GuiaVB_6 (accedido 03/08/2007) http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/Visual Basic6/vbasic60.pdf; (accedido 10/03/2007) http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_checkbox. htm; (accedido 14/07/2007) http://www.cs.us.es/cursos/ai-2003/VB/VB.pdf; (accedido 14/07/2007). http://www.monografias.com/trabajos2/guiavb/guiavb.shtml; (accedido 10/07/2007) http://www.lawebdelprogramador.com/cursos/enlace.php?idp=2175&id =93&texto=visual+basic (accedido 10/03/2007)

Mg. Ing. Ftima Martnez

Introduccin a los Controles Bsicos en Visual Basic

Mg. Ing. Ftima Martnez

1) La herramienta que permite elegir una opcin entre varias:


a) ListBox b) OptionButton c) CheckBox

2) El control ListBox es utilizado para:


a) Mostrar una lista de artculos de los cuales el usuario puede escoger slo uno. b) Mostrar una lista de artculos de los cuales el usuario puede escoger uno o ms. c) Mostrar opciones de las cuales el usuario puede escoger slo una.

3) Cmo se insertan elementos en un control ListBox durante el tiempo de diseo?


a) A travs del men Edicin. b) Con la propiedad List. c) Haciendo doble click en el control.

4) El control ComboBox combina las caractersticas de los controles:


a) TextBox y CheckBox b) TextBox y ListBox c) TextBox y ListDirBox

5) En qu orden se crea un grupo de controles usando el control Frame?


a) Primero cada uno de los controles y a continuacin el control Frame. b) Primero el control Frame y a continuacin cada uno de los controles, colocndolos fuera del marco. c) Primero el control Frame y a continuacin cada uno de los controles, colocndolos dentro del marco.

6) Qu propiedad muestra la unidad seleccionada de un cuadro de lista de unidades?


a) Unidad.Path b) Unidad.Drive c) Unidad.Filename

7) Qu indica App.Path?
a) La carpeta en la que se encuentra el programa que se est ejecutando. b) La ruta de acceso actual del proyecto. c) El tamao de un archivo de programa.

8) El Timer se puede observar en:


a) Tiempo de ejecucin. b) Tiempo de diseo. c) En la ventana de proyectos.

9) Qu propiedad del control Timer determina el lapso de tiempo del bucle?


a) Enabled b) Interval c) Index

10) Qu parmetro se necesita para poder diferenciar los elementos de un procedimiento de evento en array o matriz de controles?
a) TabIndex b) Index c) Button

Pgina 92

Anda mungkin juga menyukai