You are on page 1of 43

CAPTULO 4 C. Castillo P.

USO DE LOS CONTROLES


Los controles son aquellos objetos que se encuentran

dentro de un contenedor y que permiten la interaccin entre el usuario y la aplicacin, ya sea para manipular datos y/o

ejecutar tareas. En Visual Basic, los controles suelen ser agrupados en tres categoras: Controles bsicos Controles complementarios Controles externos Los controles bsicos son las etiquetas, cuadros de texto y botones de comando, pues utilizando estos tres controles se puede construir cualquier interfaz. Los controles complementarios son el resto de los

controles, por ejemplo una casilla de verificacin, un cuadro combinado o un cronmetro. Los controles externos se refieren a aquellos controles creados ActiveX. Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 1 por terceros. Este tipo de controles son llamados

CONTROLES BSICOS Los controles bsicos lo conforman las etiquetas, cuadros de texto y botones de comando, debido a que cualquier interfaz se puede implementar con slo estos tres objetos.

Etiqueta Una etiqueta es un control que permite presentar texto de solo lectura. Se utiliza para mostrar ttulos y mensajes que por lo general no cambian. Sin embargo, si lo desea, puede escribir procedimientos que cambien el texto mostrado por una etiqueta como respuesta a eventos en tiempo de ejecucin. Propiedad Alignment AutoSize Descripcin forma como se se cambia para de

Especifica texto. Especifica tamao del

la si

alinear

el el sus

automticamente que y quepan de

control color el

BackColor, ForeColor BackStyle Caption WordWrap

contenidos. Especifica el Especifica si

fondo del se

primer es el

plano empleado para mostrar el texto. fondo control en transparente u opaco. Especifica el texto que

muestra

control. Especifica si la etiqueta se extiende a ms de una lnea cuando el texto es amplio.

Cuadro de texto

Un cuadro de texto es un control en el que el usuario pueda ingresar datos desde el teclado o visualizar un resultado generado por la aplicacin. El valor de un cuadro de texto por lo general se asocia a una variable de memoria. Propiedad Enabled Locked MaxLenght MultiLine PasswordChar Descripcin Habilita o deshabilita el control, es decir si se puede o no modificar el contenido. Permite bloquear el acceso al control en

tiempo de ejecucin. Especifica la longitud mxima (en caracteres) que puede escribirse en el control. Especifica si el control admitir mltiples lneas. Determina si se muestran en el control los caracteres escritos por el usuario o los de caracteres de marcador de posicin. Especifica si se muestran las barras

ScrollBars SelLength SelStart

desplazamiento horizontales o verticales. Especifica el nmero de caracteres seleccionados. Especifica el inicio del texto seleccionado. Si su valor es 0, el texto seleccionado comienza por el primer carcter. Contiene el texto seleccionado. Contiene el texto introducido en el control. Puede inicializar el contenido en tiempo de diseo. asociados

SelText Text

Los

eventos

un

cuadro

de

texto

son

los

siguientes: Evento Change Descripcin se cambia el

Ocurre

cuando

contenido

del

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 3

KeyPress Botn de comando

control utilizando el teclado o el ratn. Ocurre cuando se pulsa una tecla.

Un botn de comando es un control que suele emplearse para ejecutar una accin, como cerrar un formulario, imprimir un informe, etc. Propiedad Cancel Descripcin el control responder

Especifica

si

la

tecla ESC, por lo general para terminar la Caption Default aplicacin. Muestra un ttulo para el control. Especifica si el control responder

la

tecla ENTRAR, sin importar la ubicacin del Enabled Picture Style enfoque. Permite habilitar o deshabilitar el control. Especifica una imagen tipo icono para el control. Especifica la apariencia del control, ya sea estndar (estilo estndar de Windows) o grfica (con una imagen personalizada). Los botones de comando suelen responder al evento Click, cuya descripcin es: Evento Click Descripcin Ocurre cuando el usuario hace click sobre el control. A manera de ejemplo consiste vamos en un a desarrollar cajero la siguiente el cual

aplicacin.

Esta

automtico

permite dispone

manipular de los

cierta

cantidad

de

dinero S/.

para

lo

cual

siguientes

billetes:

10.00;

S/.

20.00;

S/. 50.00; S/. 100.00 y S/. 200.00. Elaborar una aplicacin que permita la lectura de la cantidad a retirar e indique el menor nmero de billetes a utilizar.

Para el desarrollo de la presente aplicacin proceda a ubicar los siguientes controles en el formulario: 6 etiquetas 6 cajas de texto 3 botones de comando Una vez ubicados los controles, establezca las propiedades segn se indica: Form1 Nombre BorderStyle FrmCajero 3-Fixed Dialog

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 5

Caption Label1 Nombre AutoSize Caption Label2 Nombre AutoSize Caption Label3 Nombre AutoSize Caption Label4 Nombre AutoSize Caption Label5 Nombre AutoSize Caption Label6 Nombre AutoSize Caption Text1 Nombre Text Text2 Nombre Text Text3 Nombre

Cajero automtico

LblCantidad True Cantidad a retirar:

LblB10 True Billetes de S/. 10

LblB20 True Billetes de S/. 20

LblB50 True Billetes de S/. 50

LblB100 True Billetes de S/. 100

LblB200 True Billetes de S/. 200

TxtCantidad

TxtB10

TxtB20

Text Text4 Nombre Text Text5 Nombre Text Text6 Nombre Text Command1 Nombre Caption Command2 Nombre Caption Command3 Nombre Caption CmdSalir &Salir CmdLimpiar &Limpiar CmdAceptar &Aceptar TxtB200 TxtB100 TxtB50

Para aadir cdigo a la aplicacin haga doble click sobre el botn Aceptar e ingrese lo siguiente: Private Sub CmdAceptar_Click() Dim C As Integer, B200 As Integer, B100 As Integer, _ B50 As Integer, C = Val(TxtCantidad) If C Mod 10 = 0 Then B200 = C \ 200 : C = C Mod 200 B20 As Integer, B10 As Integer

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 7

B100 = C \ 100 : C = C Mod 100 B50 B20 = C \ 50 = C \ 20 : C = C Mod 50 : B10 = C Mod 20

TxtB200 = Str(B200) TxtB100 = Str(B100) TxtB50 = Str(B50) TxtB20 = Str(B20) TxtB10 = Str(B10) Else MsgBox Cantidad a retirar debe ser mltiplo de 10 TxtCantidad = TxtCantidad.SetFocus End If End Sub Luego, haga doble click sobre el botn Limpiar y aada el siguiente cdigo: Private Sub CmdLimpiar_Click() TxtCantidad = TxtB200 = TxtB100 = TxtB50 = TxtB20 = TxtB10 =

TxtCantidad.SetFocus End Sub Finalmente dar doble click sobre el botn Salir y aada el siguiente cdigo: Private Sub CmdSalir_Click() End End Sub En el cdigo anterior hemos utilizado el mtodo SetFocus para enfocar la caja de texto TxtCantidad, esto es, para

posicionar el cursor sobre ella.

CONTROLES COMPLEMENTARIOS Los controles complementarios se utilizan como alternativa a los controles bsicos en aplicaciones en las cuales su uso facilita o mejora el diseo de la interfaz. Como el lector podr verificar, algunos controles son ms adecuados que otros dependiendo del tipo de aplicacin que se pretenda desarrollar.

Marco Un marco es un objeto contenedor que puede utilizarse para agrupar casillas de verificacin, botones de opcin, botones de comando, etc.

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 9

Propiedad Caption

Descripcin Muestra un ttulo para el control.

Casilla de verificacin Una casilla de verificacin se utiliza para alternar entre dos posibles valores (Activado/Desactivado). Cada casilla de verificacin es independiente de las dems ya que cada una tiene su propio nombre (Name). Puede utilizar casillas de

verificacin en grupos para mostrar mltiples opciones entre las cuales el usuario puede seleccionar todas las que desee a la vez. Propiedad Caption Value Descripcin Muestra un ttulo para el control. Devuelve o establece el estado del control, puede ser: Desactivado (0), Activado (1). Las casillas de verificacin suelen responder al evento Click.

Botn de opcin Un botn de opcin se utiliza para alternar entre dos posibles valores (Activado/Desactivado), de manera similar a las casillas de verificacin, la diferencia radica en que de un grupo de botones de opcin el usuario slo puede seleccionar un nico botn a la vez.

10

Propiedad Caption Value

Descripcin Muestra un ttulo para el control. Devuelve o establece el estado del control, puede (True). ser: Desactivado (Falso), Activado

Los botones de opcin tambin suelen responder al evento Click. A manera de ejemplo vamos a desarrollar la siguiente

aplicacin, la cual permite cambiar el aspecto de un cuadro de texto, el usuario debe elegir el color (rojo, verde, azul) y el estilo (negrita, cursiva, subrayado) de la fuente a utilizar. Adicionalmente, cuando el usuario active la casilla de

verificacin Convertir a maysculas, todo el texto que haya escrito en el cuadro de texto se presentar en maysculas y todo texto que escriba a continuacin (mientras la opcin est activada) tambin deber aparecer en maysculas.

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 11

Para el desarrollo de la presente aplicacin proceda a ubicar los siguientes controles en el formulario: 1 cuadro de texto 2 marcos 3 botones de opcin 4 casillas de verificacin Una vez ubicados los controles, establezca las propiedades segn se indica: Form1 Nombre BorderStyle Caption Text1 Nombre ForeColor Text Frame1 Nombre Caption Frame2 Nombre Caption Option1 Nombre Caption ForeColor Value Option2
12

FrmEditor 3-Fixed Dialog Editor

TxtMensaje &H000000FF&

FraColor Color

FraEstilo Estilo

OptRojo Rojo &H000000FF& True

Nombre Caption ForeColor Option3 Nombre Caption ForeColor Check1 Nombre Caption Font Check2 Nombre Caption Font Check3 Nombre Caption Font Check4 Nombre Caption

OptVerde Verde &H00008000&

OptAzul Azul &H00C00000&

ChkNegrita Negrita Arial (Negrita)

ChkCursiva Cursiva Arial (Cursiva)

ChkSubrayado Subrayado Arial (Subrayado)

ChkMayuscula Convertir a maysculas

Una vez establecidas las propiedades, proceda a ingresar el cdigo que se indica a continuacin: Private Sub OptRojo_Click() If OptRojo.Value Then TxtMensaje.ForeColor = RGB(255, 0, 0) End If End Sub Private Sub OptVerde_Click() Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 13

If OptVerde.Value Then TxtMensaje.ForeColor = RGB(0, 255, 0) End If End Sub Private Sub OptAzul_Click() If OptAzul.Value Then TxtMensaje.ForeColor = RGB(0, 0, 255) End If End Sub Private Sub ChkNegrita_Click() If ChkNegrita.Value Then TxtMensaje.Font.Bold = True Else TxtMensaje.Font.Bold = False End If End Sub Private Sub ChkCursiva_Click() If ChkCursiva.Value Then TxtMensaje.Font.Italic = True Else TxtMensaje.Font.Italic = False End If

14

End Sub Private Sub ChkSubrayado_Click() If ChkSubrayado.Value Then TxtMensaje.Font.Underline = True Else TxtMensaje.Font.Underline = False End If End Sub Private Sub ChkMayuscula_Click() If ChkMayuscula.Value Then TxtMensaje = UCase(TxtMensaje) End If End Sub Private Sub TxtMensaje_KeyPress(KeyAscii As Integer) Dim CAR As String * 1 If ChkMayuscula.Value Then CAR = UCase(Chr(KeyAscii)) KeyAscii = Asc(CAR) End If End Sub La funcin RGB() especifica el color que se asigna a la propiedad ForeColor.

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 15

La funcin UCase() retorna una cadena de caracteres en maysculas. Cuadro de lista Un cuadro de lista es un control que presenta una lista de elementos en la que el usuario puede seleccionar uno o ms de dichos elementos. Si el nmero de elementos supera el nmero que puede mostrarse, se agregar automticamente una barra de desplazamiento al control. Propiedad List ListCount Contiene los Descripcin elementos de la

lista.

Puede de la

definirlos en tiempo de diseo. Especifica el nmero de elementos

lista. Su valor siempre es uno ms que el ListIndex mayor valor de ListIndex. Especifica el nmero de orden que ocupa el elemento seleccionado en la lista. Toma el valor de 0 para el primer elemento, si no ha MultiSelect SelCount Selected Sorted Text selecciona ninguno retorna -1. Especifica si se pueden seleccionar elementos de la lista. Devuelve el nmero de varios

elementos

seleccionados. Especifica si un elemento de la lista est seleccionado. Especifica si los elementos de la lista se ordenan alfabticamente. Especifica el valor del elemento seleccionado en ese instante. El valor es tratado como una cadena de caracteres.

16

Los mtodos que se pueden utilizar para un cuadro de lista son los siguientes: Mtodo AddItem Clear RemoveItem Cuadro combinado Un cuadro combinado es una mezcla de un cuadro de texto con una lista. En l no slo se podr ingresar un dato sino tambin seleccionarlo eventos y de la lista. que el Presenta cuadro las de mismas lista a Descripcin Agrega un nuevo elemento a la lista. Elimina todos los elementos contenidos en la lista. Elimina en elemento de la lista.

propiedades,

mtodos

excepcin de lo siguiente: Propiedad Style Descripcin Especifica si el control se comporta como un cuadro de texto o como una lista desplegable. Un cuadro de texto permite ingresar valores. Una es lista desplegable e slo permite una lista de seleccionar valores. El valor predeterminado 0-vbComboDropDown, incluye incluye tan solo desplegable y un cuadro de texto. El valor 1-vbComboSimple cuadro texto. El valor 2-Dropdown List incluye slo una lista desplegable. Como ejemplo del uso de listas vamos a desarrollar una aplicacin que permita ingresar el nombre de un curso, el cual

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 17

pasa

formar

parte

de

una

lista

de

espera

antes

de

ser

programado para su dictado. Los cursos deben ser seleccionados de la lista de espera y trasladados a la lista de cursos

programados y viceversa.

Para el desarrollo de la presente aplicacin proceda a ubicar los siguientes controles en el formulario: 3 etiquetas 1 cuadro de texto 2 listas 5 botones de comando

En seguida proceda a establecer las propiedades segn se indica:


18

Form1 Nombre BorderStyle Caption Label1 Nombre AutoSize Caption Label2 Nombre AutoSize Caption Label3 Nombre AutoSize Caption Text1 Nombre Text List1 Nombre List2 Nombre Command1 Nombre Caption Picture Style Command2 Nombre Caption Picture Style CmdAgregarTodo C:\FundVB\Bitmaps\AddAll.Bmp 1-Graphical CmdAgregar C:\FundVB\Bitmaps\AddItem.Bmp 1-Graphical LstProgramado LstSeleccionar TxtCurso LblProgramado True Curso programado: LblSeleccionar True Seleccione un curso: LblCurso True Ingrese nuevo curso: FrmCursos 3-Fixed Dialog Cursos

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 19

Command3 Nombre Caption Picture Style Command4 Nombre Caption Picture Style Command5 Nombre Caption Default CmdAnnadir &Aadir True CmdQuitarTodo C:\FundVB\Bitmaps\RemoveAll.Bmp 1-Graphical CmdQuitar C:\FundVB\Bitmaps\Remove.Bmp 1-Graphical

Seguidamente proceda a ingresar el cdigo que se indica a continuacin: Private Sub CmdAnnadir_Click() LstSeleccionar.AddItem TxtCurso TxtCurso = TxtCurso.SetFocus End Sub Private Sub CmdAgregar_Click() Dim CURSO As String, I As Integer CURSO = LstSeleccionar.Text I = LstSeleccionar.ListIndex If LstSeleccionar.ListIndex >= 0 Then

20

LstProgramado.AddItem CURSO LstSeleccionar.RemoveItem I End If End Sub Private Sub CmdQuitar_Click() Dim CURSO As String, I As Integer CURSO = LstProgramado.Text I = LstProgramado.ListIndex If LstProgramado.ListIndex >= 0 Then LstSeleccionar.AddItem CURSO LstProgramado.RemoveItem I End If End Sub Private Sub CmdAgregarTodo_Click() Dim I As Integer For I = 0 To LstSeleccionar.ListCount - 1 LstProgramado.AddItem LstSeleccionar.List(I) Next LstSeleccionar.Clear End Sub Private Sub CmdQuitarTodo_Click() Dim I As Integer

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 21

For I = 0 To LstProgramado.ListCount - 1 LstSeleccionar.AddItem LstProgramado.List(I) Next LstProgramado.Clear End Sub Seguidamente mostraremos un ejemplo del uso de los cuadros combinados. Para tal fin vamos a desarrollar una aplicacin que permita realizar consultas acerca de un determinado curso. La relacin de cursos se presentar mediante un cuadro combinado, del cual el usuario debe seleccionar el curso de su inters y en seguida se presentar el nombre del profesor encargado del curso (teora), el nombre del jefe de prctica (laboratorio), as como los horarios de teora y de laboratorio,

respectivamente.

22

Para el desarrollo de la presente aplicacin proceda a ubicar los siguientes controles en el formulario: 1 etiqueta 1 cuadro de texto 1 cuadro combinado 1 botn de comando En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre BorderStyle Caption Label1 Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 23 FrmConsultaCursos 3-Fixed Dialog Consulta de cursos

Nombre Caption Text1 Nombre MultiLine ScrollBars Text Combo1 Nombre Text Style Command1 Nombre Caption

LblCursos Cursos:

TxtCurso True 2-Vertical

CboCursos 2-Dropdown List

CmdSalir &Salir

Seguidamente proceda a ingresar el cdigo que se indica a continuacin: Dim Matriz(5, 3) As String Private Sub Form_Load() CboCursos.AddItem Microsoft Visual Basic Nivel I CboCursos.AddItem Microsoft Visual Basic Nivel II CboCursos.AddItem Microsoft Visual FoxPro Nivel I CboCursos.AddItem Microsoft Visual FoxPro Nivel II CboCursos.AddItem Microsoft Visual C++ Nivel I CboCursos.AddItem Microsoft Visual C++ Nivel II Matriz(0, 0) = Castillo Peralta, Carlos Matriz(1, 0) = Castillo Peralta, Carlos Matriz(2, 0) = Linares Alarcon, Adams

24

Matriz(3, 0) = Castillo Peralta, Carlos Matriz(4, 0) = Crdoba Saavedra, Javier Matriz(5, 0) = Castillo Peralta, Carlos Matriz(0, 1) = Sa 08-11 Matriz(1, 1) = Sa 14-17 Matriz(2, 1) = Sa 08-11 Matriz(3, 1) = Do 08-11 Matriz(4, 1) = Sa 14-17 Matriz(5, 1) = Sa 17-20 Matriz(0, 2) = Castillo Peralta, Carlos Matriz(1, 2) = Linares Alarcon, Adams Matriz(2, 2) = Montes Tejada, Estela Matriz(3, 2) = Linares Alarcon, Adams Matriz(4, 2) = Crdoba Saavedra, Javier Matriz(5, 2) = Crdoba Saavedra, Javier Matriz(0, 3) = Sa 11-13 Matriz(1, 3) = Do 08-10 Matriz(2, 3) = Sa 11-13 Matriz(3, 3) = Do 14-16 Matriz(4, 3) = Sa 18-20 Matriz(5, 3) = Do 08-10 End Sub Private Sub CboCursos_Click() Dim P_TEORIA As String, H_TEORIA As String Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 25

Dim P_LAB As String, H_LAB As String P_TEORIA = Profesor de teora: & _ Matriz(CboCursos.ListIndex, 0) H_TEORIA = Horario de teora: & _ Matriz(CboCursos.ListIndex, 1) P_LAB = Jefe de prctica: & _ Matriz(CboCursos.ListIndex, 2) H_LAB = Horario laboratorio: & _ Matriz(CboCursos.ListIndex, 3) TxtCurso = P_TEORIA & vbCrLf & H_TEORIA & vbCrLf & _ P_LAB & vbCrLf & H_LAB End Sub Private Sub CmdSalir_Click() End End Sub La constante vbCrLf es una combinacin de retorno de carro y avance de lnea, es equivalente a Chr(13) + Chr(10). Para este en ejemplo memoria en RAM particular mediante el hemos uso almacenado de un la

informacin

arreglo

bidimensional (Matriz).

Cronmetro

26

Un cronmetro sirve para controlar el tiempo transcurrido desde el inicio de una accin. Propiedad Interval Descripcin Especifica el nmero de milisegundos que se esperar para disparar el evento Timer. El control Cronmetro responde al evento Timer, cuya

descripcin es: Evento Timer Ocurre cuando en especificado transcurrido. A manera de ejemplo vamos a desarrollar la siguiente Descripcin el nmero de la propiedad

milisegundos Interval ha

aplicacin que simula el funcionamiento de un reloj digital.

Para el desarrollo de la presente aplicacin proceda a ubicar los siguientes controles sobre el formulario:

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 27

1 etiqueta 1 cuadro de texto 1 cronmetro 1 botn de comando En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre BorderStyle Caption Label1 Nombre Caption Text1 Nombre Text Timer1 Nombre Interval Command1 Nombre CmdTerminar Caption &Terminar Seguidamente proceda a ingresar el cdigo que se indica a continuacin: Private Sub Form_Activate() TxtHora = Time() End Sub Timer1 500 TxtHora LblHora Hora FrmReloj 3-Fixed Dialog Reloj digital

28

Private Sub Timer1_Timer() If TxtHora

<>

Time() Then

TxtHora = Time() End If End Sub Private Sub CmdTerminar_Click() End End Sub

Cuadro de imagen Un cuadro de imagen se utiliza para mostrar un archivo de imagen (BMP, GIF o JPG). Recorta el grfico si el control no es lo bastante grande para mostrar la imagen completa. Propiedad AutoSize Descripcin si el control su tamao de para

Especifica

ajusta un el es

automticamente Picture El evento

mostrar para

grfico completo. Especifica el archivo control. que suele manejarse

imagen este

para

control

MouseMove, cuya descripcin es: Evento MouseMove Descripcin Ocurre cuando el usuario mueve el ratn sobre el control.

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 29

Imagen Un control imagen se utilizar para mostrar un archivo de imagen (BMP, GIF o JPG) de manera similar a un Cuadro de

imagen. Sin embargo, este control utiliza menos recursos del sistema y se actualiza con ms rapidez que un cuadro de imagen. Propiedad Picture Stretch Descripcin archivo de imagen se para ajusta que el

Especifica control. Especifica archivo

el como

para

el del del

tamao dentro

grfico

quepa

control imagen. Para MouseMove. este control tambin se suele manejar el evento

Barras de desplazamiento horizontal Una barra de desplazamiento horizontal representa un valor entero, la cual tiene un cuadrado que se desplaza a lo largo de la misma para fijar un valor. La posicin ms a la izquierda se corresponde con el valor mnimo, la posicin ms a la derecha con el valor mximo, y cualquier otra posicin es un valor entre ellos dos. Propiedad Max Min Descripcin Especifica el valor mximo que puede tomar la propiedad Value. Especifica el valor mnimo que puede tomar la

30

LargeChange

propiedad Value. Especifica en cuanto cambiar el valor de la propiedad Value cuando el usuario haga click antes o despus del cuadrado de desplazamiento. Especifica en cuanto cambiar el valor de la propiedad Value cuando el usuario haga click en alguna de las flechas de los extremos de la barra. Especifica

SmallChange

Value

el

valor

del

control,

este

se

encuentra siempre entre los valores de las propiedades Min y Max. Las barras de desplazamientos responden a los eventos: Evento Change Scroll Descripcin Ocurre inmediatamente despus que el cuadrado de desplazamiento ha sido movido. Ocurre mientras el cuadrado de desplazamiento est siendo movido (este evento slo ocurre cuando el cuadrado es arrastrado). Barras de desplazamiento vertical Una barra de desplazamiento vertical representa un valor entero, la cual tiene un cuadrado que se desplaza a lo largo de la misma para fijar un valor. La posicin ms hacia arriba se corresponde con el valor mnimo, la posicin ms hacia abajo se corresponde con el valor mximo, y cualquier otra posicin es un valor entre ellos dos. Las propiedades y eventos de las barras de desplazamiento horizontal y vertical son anlogas. Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 31

Como ejemplo, vamos a construir una aplicacin que permita cambiar el color de fondo de un cuadro de imagen, mediante tres barras de desplazamiento (rojo, verde y azul).

Para el desarrollo de la presente aplicacin proceda a ubicar los siguientes controles en el formulario: 3 etiquetas 3 barras de desplazamiento horizontal 1 cuadro de imagen En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre BorderStyle Caption FrmColores 3-Fixed Dialog Colores

32

Label1 Nombre Caption Label2 Nombre Caption Label3 Nombre Caption HScroll1 Nombre LargeChange Max Min SmallChange Value HScroll2 Nombre LargeChange Max Min SmallChange Value HScroll3 Nombre LargeChange Max Min SmallChange Value Picture1 Nombre BackColor PicFondo &H000000FF& HSAzul 10 255 0 1 0 HSVerde 10 255 0 1 0 HSRojo 10 255 0 1 255 LblAzul Azul LblVerde Verde LblRojo Rojo

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 33

Seguidamente proceda a ingresar el cdigo que se indica a continuacin: Private Sub HSRojo_Change() PicFondo.BackColor = RGB(HSRojo, HSVerde, HSAzul) End Sub Private Sub HSVerde_Change() PicFondo.BackColor = RGB(HSRojo, HSVerde, HSAzul) End Sub Private Sub HSAzul_Change() PicFondo.BackColor = RGB(HSRojo, HSVerde, HSAzul) End Sub En el cdigo anterior se debi colocar HSRojo.Value,

HSVerde.Value y HSAzul.Value, pero debido a que la propiedad Value es por defecto se puede omitir.

Cuadro de lista de unidades Un cuadro de lista de unidades permite al usuario

seleccionar una unidad de disco vlida en tiempo de ejecucin. Utilice este control para presentar una lista de todas las unidades vlidas del sistema. Propiedad Drive Descripcin Especifica la unidad seleccionada en tiempo

34

de ejecucin. Este control responde al evento Change, cuya descripcin es la siguiente: Evento Change Descripcin Ocurre cuando el usuario hace click sobre la unidad Change que desea seleccionar. si se El evento la tambin ocurre selecciona

unidad mediante el teclado. Cuadro de lista de directorios Un cuadro de lista de directorios muestra directorios y rutas de acceso en tiempo de ejecucin. Utilice este control para mostrar una lista jerrquica de directorios. Propiedad Path Un cuadro Descripcin Especifica la ruta de acceso actual. de lista de directorios tambin responde al

evento Change.

Cuadro de lista de archivos Un cuadro de lista de archivos encuentra y muestra los archivos del directorio especificado por la propiedad Path en tiempo de ejecucin. Utilice este control para mostrar una

lista de los archivos seleccionados por tipo.

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 35

Propiedad Path Pattern List ListIndex

Descripcin Especifica la ruta de acceso actual. Especifica el tipo de archivo que se desea visualizar en el control. Devuelve los elementos contenidos en la parte de lista del control. Especifica el ndice del elemento

seleccionado actualmente en el control. Como ejemplo vamos a desarrollar una aplicacin que

permita el manejo de unidades, carpetas y archivos. El usuario puede seleccionar la unidad actual de trabajo, la carpeta y el archivo y poder visualizar su contenido (en este caso archivos grficos *.JPG).

Para el desarrollo de la presente aplicacin proceda a ubicar los siguientes controles en el formulario: 4 etiquetas

36

1 cuadro de lista de unidades 1 cuadro de lista de directorios 1 cuadro de lista de archivos 1 imagen En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre Caption Label1 Nombre Caption Label2 Nombre Caption Label3 Nombre Caption Label4 Nombre Caption Drive1 Nombre Dir1 Nombre File1 Nombre File1 Dir1 Drive1 LblVista Vista previa LblArchivo Archivo LblCarpeta Carpeta LblUnidad Unidad FrmVisor Visor

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 37

Pattern Image1

*.JPG

Nombre ImgVista Stretch True Seguidamente proceda a ingresar el cdigo que se indica a continuacin: Private Sub Drive1_Change() On Error GoTo DRIVE_ERROR Dir1.Path = Drive1.Drive Exit Sub DRIVE_ERROR: MsgBox ERROR: Unidad no preparada, vbCritical, Error Exit Sub End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub File1_Click() Dim ARCHIVO As String ARCHIVO = File1.Path & \ ARCHIVO = ARCHIVO & File1.List(File1.ListIndex) ImgVista.Picture = LoadPicture(ARCHIVO) End Sub

38

La instruccin On Error activa una rutina de control de errores y especifica la ubicacin de la misma en un

procedimiento. LA FUNCIN MSGBOX A menudo habr situaciones en las cuales tendr que

presentar algn mensaje (por ejemplo una pregunta) y en funcin de la respuesta del usuario se ejecutar una determinada

accin.

La

funcin

MsgBox()

muestra

un

cuadro

de

dilogo

predefinido y retorna un valor de tipo entero dependiendo del botn seleccionado por el usuario. Su sintaxis es de la

siguiente forma: VALOR = MsgBox(MENSAJE [, BOTN + ICONO, TTULO]) Donde MENSAJE se refiere a una expresin de cadena que se muestra como mensaje en el cuadro de dilogo. BOTN es una expresin numrica que se refiere al tipo y cantidad de botones a utilizar. Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 39

ICONO es una expresin numrica que se refiere al estilo de icono que se va ha utilizar. TTULO es una texto que se mostrar en la barra de ttulo de la caja de dilogo. Tipo de botn Valor 0 1 2 3 4 5 Botn Aceptar Aceptar y Cancelar Anular, Reintentar, Ignorar S, No y Cancelar S y No Reintentar y Cancelar Nombre vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel

Tipo de icono Valor 16 32 48 64 Icono Mensaje crtico Signo de interrogacin Signo de exclamacin Signo de informacin Nombre vbCritical vbQuestion vbExclamation vbInformation

Valores retornados Valor 1 2 3 4 5 6 7 Como Botn Aceptar Cancelar Anular Reintentar Ignorar S No ejemplo vamos a construir un Nombre vbOK vbCancel vbAbort vbRetry vbIgnore vbYes vbNo formulario que presente

un botn Salir, de tal forma que cuando el usuario pulse dicho botn se presente el siguiente mensaje:

40

En

caso

de

que

el

usuario

elija

la

opcin

S,

la

aplicacin debe terminar. En caso contrario, es decir si el usuario elige la opcin No, se debe proseguir con la

aplicacin. Para el desarrollo del presente ejemplo, proceda a ubicar sobre el formulario un botn de comando (CmdSalir), a

continuacin ingresar el siguiente cdigo: Private Sub CmdSalir_Click() Dim RESP As Integer RESP = MsgBox(Desea terminar la aplicacin?, _ vbQuestion + vbYesNo, Pregunta) If RESP = vbYes Then End End If End Sub Para ilustrar mejor el uso de la funcin MsgBox() vamos a desarrollar la siguiente aplicacin que permite mostrar los diferentes tipos de botones e iconos generados por la funcin.

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 41

Para ello proceda a ubicar los siguientes controles en el formulario: 2 cuadros de lista 1 botn de comando En seguida proceda a establecer las propiedades segn se indica: Form1 Nombre BorderStyle Caption List1 Nombre List2 Nombre Command1 Nombre CmdMensaje LstIcono LstBoton FrmFuncionMsgBox 3-Fixed Dialog Funcin MsgBox

42

Caption

&Mensaje

Seguidamente proceda a ingresar el cdigo que se indica a continuacin: Private Sub Form_Load() LstBoton.AddItem Aceptar LstBoton.AddItem Aceptar y Cancelar LstBoton.AddItem Anular, Reintentar, Ignorar LstBoton.AddItem S, No y Cancelar LstBoton.AddItem S y No LstBoton.AddItem Reintentar y Cancelar LstIcono.AddItem Mensaje crtico LstIcono.AddItem Signo de interrogacin LstIcono.AddItem Signo de exclamacin LstIcono.AddItem Signo de informacin End Sub Private Sub CmdMensaje_Click() Dim RESP As Integer, BOTON As Integer, ICONO As Integer BOTON = LstBoton.ListIndex ICONO = (LstIcono.ListIndex + 1) * 16 RESP = MsgBox(Hola Mundo, BOTON + ICONO, Ejemplo) End Sub

Elaborado por Carlos Castillo Peralta Cap. 4 Pg. 43

You might also like