Está en la página 1de 31

Parte 1: Introduccin al Desarrollo de Aplicaciones con Visual Basic Qu es Visual Basic?

Visual Basic es un ambiente grfico de desarrollo de aplicaciones para el sistema operativo Microsoft Windows. Las aplicaciones creadas con Visual Basic estn basadas en objetos y son manejadas por eventos. Visual Basic se deriva del lenguaje Basic, el cual es un lenguaje de programacin estructurado. in embargo, Visual Basic emplea un modelo de programacin manejada por eventos. Las Aplicaciones Procedurales !n las aplicaciones tradicionales o procedurales, es la aplicacin "uien controla "ue porciones de cdigo se ejecuta, y la secuencia en "ue este se ejecuta. La ejecucin de la aplicacin se inicia con la primera l#nea de cdigo, y sigue una ruta predefinida a trav$s de la aplicacin, llamando procedimientos seg%n sea necesario. Las Aplicaciones Manejadas por E entos !n las aplicaciones manejadas por eventos, la ejecucin no sigue una ruta predefinida. !n ve& de esto, se ejecutan diferentes secciones de cdigo en respuesta a eventos. Los eventos se desencadenan por acciones del usuario, por mensajes del sistema o de otras aplicaciones. La secuencia de eventos determina la secuencia en "ue el cdigo se ejecuta. !s por esto "ue la ruta "ue sigue el cdigo de la aplicacin es diferente cada ve& "ue se ejecuta el programa. 'na parte esencial de la programacin manejada por eventos es el escribir cdigo "ue responda a los posibles eventos "ue pueden ocurrir en una aplicacin. Visual Basic facilita la implementacin del modelo de programacin manejada por eventos. Qu es un o!jeto? (ada formulario )ventana*, men% o control "ue se crea con Visual Basic es un mdulo autocontenido llamado o!jeto" Los blo"ues bsicos de construccin de una aplicacin con Visual Basic son los objetos. (ada objeto tiene un conjunto de caracter#sticas y un comportamiento definido )propiedades# $todos % e entos& "ue lo diferencian de otros tipos de objeto. !n otras palabras, un objeto formulario +a sido dise,ado para cumplir determinada funcin en una aplicacin, y no es lo mismo "ue un objeto men%. Propiedades !l conjunto de datos "ue describen las caracter#sticas de un objeto se le conoce como sus propiedades" -ara un formulario tenemos por ejemplo, las propiedades Bac'(olor )color de fondo*, )ei*+t )altura*. .lgunas propiedades no solo determinan el aspecto "ue tiene el objeto, sino "ue adems pueden determinar su comportamiento/ por ejemplo, la propiedad Ma,Button establece si el formulario tendr o no el botn Maximizar. La presencia o ausencia de este botn determinar si el formulario se puede o no ma0imi&ar.

Mtodos Los m$todos son un conjunto de procedimientos "ue permiten "ue un objeto ejecute una accin o tarea sobre s# mismo. -or ejemplo, para un formulario tenemos el m$todo )ide "ue +ar "ue el formulario se oculte/ o el m$todo -+o. "ue +ar "ue el formulario se vuelva a mostrar. E entos 'n e ento es una accin "ue es reconocida por el objeto. 'n evento ocurre )se dispara* como resultado de la interaccin del usuario con el objeto. 1ambi$n puede dispararse debido a la ejecucin de cdigo )sentencias* o como resultado de la interaccin de otro objeto con el objeto de poseedor del evento. -ara un formulario tenemos por ejemplo/ el evento Load "ue se dispara cuando se carga el formulario/ o el evento (lic' para un botn de comando, se dispara cuando se +ace clic sobre $l. Qu papel cu$plen las propiedades# $todos % e entos? 1oda aplicacin necesita una interfa& de usuario, la parte visual a trav$s de la cual el usuario interact%a con la aplicacin. Los blo"ues bsicos de construccin de una interfa& de usuario son los formularios y los controles. Visual Basic utili&a t$cnicas de pro*ra$acin isual para dise,ar las aplicaciones.

-ara dise,ar esta ventana )2ormulario*, del conjunto de objetos de Visual Basic seleccionamos un objeto tipo /or$ulario )2orm*. Luego a la propiedad 0o$!re )3ame* le asignamos el valor 1r$Entrada2 a la propiedad 34tulo le asignamos el valor Bien enidos a 5estin % -iste$as" 4entro del formulario se colocan los controles. -ara "ue el usuario pueda ingresar un dato )por ejemplo, la contrase,a* colocamos en la ventana un control tipo (uadro de 3e,to )1e0tBo0*/ a continuacin establecemos su propiedad 0o$!re en t,t(ontrase6a# y su propiedad Pass.ord(+ar es un 5 )asterisco* para "ue el dato

ingresado sea reempla&ado por asteriscos slo en la pantalla, para "ue no se pueda visuali&ar. -ara obtener el botn Ingresar seleccionamos un control tipo Botn de (o$ando )(ommandButton*, y lo colocamos en la ventana. Luego cambiamos sus propiedades/ a la propiedad 0o$!re le asignamos c$dIn*resar# y a la propiedad 34tulo le asignamos In*resar" e desea "ue cuando el usuario +aga clic en el botn Li$piar# se borre cual"uier dato "ue el usuario +aya ingresado en los (uadros de 3e,to# y "ue el punto de insercin se ubi"ue en el cuadro t,t7suario" -ara "ue esto ocurra debemos programar el evento )acer8(lic' del botn de comando c$dLi$piar" !l evento debe ejecutar dos sentenciar para cambiar la propiedad 3e,to de cada uno de los cuadros de te0to, y luego invocar al m$todo Esta!lecerEn1o9ue:& del cuadro de te0to t,t7suario" El Entorno Inte*rado de Desarrollo :IDE&

(uando se inicia Visual Basic, se crea un proyecto nuevo con un formulario. !l 64! de Visual Basic consta de los siguientes elementos7 Barra de Mens

-resenta los comandos "ue se usan para trabajar con Visual Basic. .dems de los men%s estndar Arc+i o# Edicin# Ver# Ventana % A%uda# contiene otros men%s para tener acceso a funciones espec#ficas de programacin, como Pro%ecto# /or$ato o Depuracin" Barra de Herramientas -ermite un acceso directo )solo un clic* a muc+as de las operaciones ms frecuentes utili&adas durante el desarrollo de aplicaciones. Cuadro de Herramientas (ontiene todos los objetos y controles "ue se pueden a,adir a los formularios para crear aplicaciones. Diseador de Formularios 2unciona como una ventana en la "ue se puede personali&ar el dise,o de la interfa& de usuario )ventana* de una aplicacin. Explorador de Proyectos Lista de los arc+ivos )formularios, mdulos, etc.* del proyecto actual. 'n Pro%ecto es una coleccin de arc+ivos "ue utili&a para construir una aplicacin. entana de Propiedades Lista los valores de las propiedades del formulario o control seleccionado "ue pueden ser modificados durante el dise,o del formulario o control. entana de C!digo 2unciona como un editor para escribir el cdigo )sentencias* de la aplicacin. ;!tencin de A%uda del -iste$a Visual Basic proporciona una variedad de recursos para ayudarle a encontrar la informacin "ue necesite cuando se encuentre trabajando dentro del entorno de desarrollo. "yuda en l#nea Visual Basic proporciona una amplia ayuda en l#nea. !l arc+ivo de .yuda contiene muc+o cdigo de ejemplo "ue se puede copiar directamente a una aplicacin. La ayuda de Visual Basic es sensible al conte0to. -ara emplear la ayuda sensible al conte0to en la ventana de cdigo, escriba la palabra para la cual desea informacin, y luego presione /1 . -or ejemplo, si desea informacin acerca de la sentencia ;pen, escriba ;pen y presione 28.

$i%ros en Pantalla .dems de la ayuda sensible al conte0to, el (49:;M de Visual Basic incluye una versin en l#nea de la documentacin impresa para Visual Basic. -ara acceder a los Libros en -antalla, +aga clic en Li!ros en Pantalla dentro del men% A%uda de Visual Basic. $a entana de C!digo La ventana o editor de cdigo de Visual Basic proporciona de manera automtica informacin relevante a medida "ue se ingresa cdigo. -or ejemplo, si se escribe el nombre de un control, seguido de un punto, las propiedades y m$todos para ese control sern mostrados automticamente en un cuadro de lista. Luego se puede escoger la propiedad o m$todo deseado para completar la sentencia. (uando se ingresa el nombre de una funcin en la ventana de cdigo, Visual Basic automticamente proporciona el formato o sinta0is de la funcin. ($o se a6aden controles al 1or$ulario? -ara a,adir controles a un formulario tenemos dos m$todos7 M&todo ' 1eniendo el cuadro de <erramientas o un 2ormulario visible# +aga doble clic en el control "ue desea a,adir en el Cuadro de Herramientas( los controles se ubican en el centro del formulario, uno encima de otro, luego +ay "ue moverlos a la posicin deseada dentro del formulario. M&todo ) 8. <aga clic sobre el control en el (uadro de <erramientas. 2. 'bi"ue el puntero del Mouse )una cru&* sobre el formulario en la es"uina superior i&"uierda donde desea colocar el control. =. :ealice un clic sostenido mientras arrastra el puntero a la es"uina superior derec+a donde colocar el control. >. uelte el botn del Mouse.

!stos cuatro pasos se repiten con cada control "ue desea a,adir al formulario. 3er$inolo*4a de Visual Basic (onforme trabaje con Visual Basic, necesitar estar familiari&ado con los siguientes t$rminos7 3r$ino De1inicin 1iempo de dise,o !s el momento en el "ue se construye la aplicacin.

1iempo de ejecucin !s el momento en el cual ejecutamos e interactuamos con la aplicacin como lo +ar#a el usuario. 2ormulario 'n formulario sirve como una ventana "ue puede personali&ar como la interfa& de su aplicacin o como un cuadro de dilogo "ue usa para obtener informacin del usuario. 'n formulario puede e0istir individualmente o puede servir como un documento dentro de una interfa& de documento m%ltiple )M46* 3r$ino De1inicin (ontroles :epresentacin grfica de objetos tales como botones, cuadros de lista, cuadros de edicin, etc., con los "ue el usuario interact%a para proporcionar informacin a la aplicacin. ;bjetos 'n t$rmino general usado para describir todos los formularios y controles "ue forman parte de la aplicacin. -ropiedades Los valores de un objeto, tales como tama,o, t#tulo, color, etc. M$todos Las acciones "ue un objeto puede reali&ar sobre s# mismo. !ventos on acciones reconocidas por un formulario o control. Los eventos ocurren a medida "ue el usuario interact%a con los objetos de la aplicacin. -rogramacin controlada por eventos (uando un programa es controlado por e*entos( usted escribe cdigo "ue se ejecuta en respuesta a eventos invocados por el usuario. 4ifiere de la programaci!n procedural( en la cual el programa comien&a en la primera l#nea de cdigo y sigue un flujo definido llamando procedimientos cuando es necesario. La programacin controlada por eventos es la esencia de las interfaces grficas de usuario/ el usuario acciona y el cdigo responde. Qu es un pro%ecto? (uando desarrolla una aplicacin, Visual Basic crea un arc+ivo especial llamado Arc+i o de Pro%ecto para administrar todos los dems arc+ivos de la aplicacin. !l Arc+i o de Pro%ecto es simplemente una lista de todos los arc+ivos y objetos asociados con el proyecto, as# como informacin sobre las opciones del entorno. !sta informacin se actuali&a cada ve& "ue se guarda el proyecto. 1odos los arc+ivos y objetos tambi$n se pueden compartir con otros proyectos. 'n proyecto est compuesto por los siguientes arc+ivos7 3ipo de arc+i o E,tensin Descripcin -royecto .vbp :eali&a el seguimiento de todos los componentes de la aplicacin. 2ormulario .frm .fr0 6ncluye el formulario, los objetos sobre el formulario y el cdigo "ue se ejecuta cuando ocurre un evento en el formulario.

Mdulo estndar .bas (ontiene procedimientos -u! y /unction "ue pueden ser invocados por cual"uier formulario u objeto sobre el formulario. )opcional* 3ipo de arc+i o E,tensin Descripcin (ontroles -ersonali&ados .oc0 (ontroles adicionales a los controles estndar proporcionados por Microsoft u otras empresas. )opcional* Mdulo de clase .cls (ontiene la definicin de clase, m$todos y propiedades de un nuevo tipo de objeto. )opcional* :ecursos .res (ontiene informacin binaria usada por la aplicacin. on usados generalmente cuando se crean programas para m%ltiples lenguajes. )opcional* (uando +a completado todos los arc+ivos del proyecto puede convertir el proyecto en un arc+ivo ejecutable ).e0e*. Nota: Con las ediciones Pro+esional y Empresarial de isual Basic tam%i&n puede crear otro tipo de arc,i*os e-ecuta%les, como arc,i*os .ocx y .dll. Pasos para crear una aplicacin !l proceso de creacin de una aplicacin Visual Basic puede descomponer en una serie de siete pasos. 8. 'sted crea una interfa& dibujando controles y objetos sobre un formulario. . fin de +acer "ue su cdigo sea ms fcil de leer y depurar, debe luego asignar nombres a los objetos usando convenciones de nombres estndar. ?. (rear la interfa& de usuario Luego de a,adir objetos al formulario, se establece las propiedades de los objetos. -uede establecer valores iniciales ya sea usando la ventana de propiedades en tiempo de dise,o o escribiendo cdigo para modificar las propiedades en tiempo de ejecucin. =. !stablecer las propiedades de los objetos de la interfa& Luego de establecer las propiedades iniciales para el formulario y cada objeto, a,ada el cdigo "ue se ejecutar en respuesta a los eventos. Los eventos ocurren cuando diferentes acciones ocurren sobre un control u objeto. -or ejemplo, clic es un evento "ue puede ocurrir para un botn de comando. >. !scribir cdigo para los eventos (uando crea el proyecto, aseg%rese de darle un nombre usando el comando 5uardar Pro%ecto co$o del men% Arc+i o" @uarde su proyecto

frecuentemente conforme a,ada cdigo. .l guardar un proyecto se guardan cada formulario y mdulo de cdigo en el proyecto. A. @uardar el proyecto (onforme a,ada cdigo al proyecto, puede usar el comando Iniciar en la Barra de <erramientas para ejecutar su aplicacin y ver su comportamiento. 1ambi$n puede usar las +erramientas de depuracin para verificar errores y modificar cdigo. B. -robar y depurar la aplicacin .l completar su proyecto, crear un arc+ivo ejecutable usando el comando 5enerar <,,,,,,"e,e del men% Arc+i o" C. (rear un arc+ivo ejecutable D. (rear una aplicacin de instalacin 4ebido a "ue su arc+ivo ejecutable depende de otros arc+ivos, tales como el arc+ivo en tiempo de ejecucin de Visual Basic )VbrunAEE=?.dll*, algunos arc+ivos ;(F y arc+ivos 4LL adicionales re"ueridos por la aplicacin o por los controles .ctiveF. (on enciones para los no$!res de los o!jetos Los objetos deben llevar nombres con un prefijo co+erente "ue facilite la identificacin del tipo de objeto. . continuacin se ofrece una lista de convenciones recomendadas para algunos de los objetos permitidos poro Visual Basic.

Pre1ijos su*eridos para $en=s Las aplicaciones suelen usar muc+os controles de men%, lo "ue +ace %til tener un conjunto %nico de convenciones de nombres para estos controles. Los prefijos de controles de men%s se deben e0tender ms all de la eti"ueta inicial GmnuG, agregando un prefijo adicional para cada nivel de anidamiento, con el t#tulo del men% final en la %ltima posicin de cada nombre. !n la tabla siguiente +ay algunos ejemplos. -ecuencia del t4tulo del $en= 0o$!re del controlador del $en= .rc+ivo .brir mnu.rc+ivador.brir .rc+ivo !nviar correo mnu.rc+ivo!nviar(orreo -ecuencia del t4tulo del $en= 0o$!re del controlador del $en= .rc+ivo !nviar fa0 mnu.rc+ivo!nviar2a0 2ormato (arcter mnu2ormato(arcter

.yuda (ontenido mnu.yuda(ontenido (uando se usa esta convencin de nombres, todos los miembros de un grupo de men%s determinado se muestran uno junto a otro en la ventana -ropiedades de Visual Basic. .dems, los nombres del control de men% documentan claramente los elementos del men% a los "ue estn adjuntos. /or$ularios

!l formulario es el principal medio de comunicacin entre el usuario y la aplicacin. Los usuarios interact%an con los controles sobre el formulario para ingresarle datos y obtener resultados. Propiedades BacH(olor (olor de fondo del formulario. Border tyle !stilo del borde del formulario. (aption 1e0to en la barra de t#tulo del formulario. (ontrolBo0 1rueI2alse. 4etermina si tiene o no el cuadro de control. !nabled 1rueI2alse. 4etermina si est +abilitado para responder a las acciones del usuario. 6con 6cono "ue se muestra cuando el formulario est minimi&ado. Left y 1op 'bicacin del formulario.

Ma0Button 1rueI2alse. 4etermina si tiene o no el botn Maximizar. MinButton 1rueI2alse. 4etermina si tiene o no el botn Minimizar. 3ame 3ombre del formulario. Window tate !stado inicial del formulario )normal, ma0imi&ado o minimi&ado* E*entos .ctivate ;curre cuando el formulario se convierte en la ventana activa. (licH ;curre cuando +ace clic sobre el formulario. 4eactivate ;curre cuando el formulario deja de ser la ventana activa. Load ;curre cuando se carga un formulario. 'nload ;curre cuando un formulario est a punto de descargarse. M&todos <ide ;culta el formulario. :efres+ .ctuali&a el contenido del formulario. et2ocus Le entrega el enfo"ue al formulario. +ow <ace visible el formulario. (ontroles B>sicos

(on los controles, los usuarios pueden operar y obtener los resultados de una aplicacin. -uede a,adir controles a un formulario seleccionando la +erramienta adecuada del (uadro de )erra$ientas" !ntre los controles ms comunes a utili&ar en una aplicacin

tenemos7 !ti"ueta )Label*, (uadro de 1e0to )1e0tBo0* y Botn de (omando )(ommandButton*. (ontrol !ti"ueta )Label* e utili&a para mostrar te0to "ue el usuario no puede modificar. @eneralmente para identificar otros controles en el formulario o para mostrar instrucciones al usuario. Propiedades .lignment .lineacin del te0to dentro del control. .uto i&e 1rueI2alse. 4etermina si el tama,o del control se ajusta automticamente al te0to "ue contiene. (aption 1e0to "ue muestra el control. 3ame 3ombre del control. 2ont !stablece la fuente, estilo y tama,o para el te0to del control.

(ontrol (uadro de 1e0to )1e0tbo0* e utili&a para "ue el usuario le proporcione datos a la aplicacin o para "ue la aplicacin le devuelva la informacin al usuario. !l te0to "ue se muestra en el control puede ser cambiado por el usuario. Propiedades !nabled 1rueI2alse. !stablece un valor "ue determina si el control puede responder a eventos generados por el usuario. 2ont !stablece la fuentes, estilo y tama,o para el te0to del control. LocHed 1rueI2alse. 4etermina si es posible modificar el te0to en el control. Ma0Lengt+ !stablece la longitud m0ima permitida para el te0to en el control. MultiLine !stablece si el control puede aceptar m%ltiples l#neas de te0to. 3ame 3ombre del control. -assword(+ar (arcter utili&ado para ocultar el te0to "ue realmente contiene el control. 1e0t 1e0to "ue realmente contiene y muestra el control.

Visible !stablece si el control ser visible para el usuario. E*entos (+ange ;curre cuando cambia el te0to "ue contiene el control. @ot2ocus ;curre cuando el control recibe el enfo"ue. Jey4own ;curre cuando el usuario presiona una tecla mientras el control tiene el enfo"ue. Lost2ocus ;curre cuando el control pierde el enfo"ue. M&todos :efres+ .ctuali&a el te0to del control. et2ocus Mueve el enfo"ue al control. (ontrol Botn de (omando )(ommandbutton* -ermite "ue la aplicacin inicie, interrumpa o termine un proceso. Propiedades (ancel 1rueI2alse. !stablece si el botn se comportar como el botn cancelar en el formulario y se invocar su evento (lic' cada ve& "ue se presione la tecla E-(. (aption !stablece el te0to "ue muestra el botn. 4efault 1rueI2alse. !stablece si el botn se comportar como el botn predeterminado en el formulario. 2ont !stablece la fuente, estilo y tama,o para el te0to del control. 3ame 3ombre del botn. Visible 1rueI2alse. !stablece si el botn ser visible para el usuario. E*entos (licH ;curre cuando se +ace clic sobre el botn. M&todos et2ocus Mueve el enfo"ue al botn. Esta!leciendo Propiedades

.l dise,ar la interfase de usuario de una aplicacin Visual Basic, se deben establecer la propiedades para los controles )objetos* creados. Esta%leciendo Propiedades en .iempo de Diseo .lgunas propiedades pueden ser establecidas en tiempo de dise,o. -ara establecer estas propiedades se emplea la ventana de propiedades. -ara acceder a la ventana de propiedades, oprima en botn secundario del ratn sobre un objeto, y luego +aga clic en Propiedades. 1ambi$n se puede obtener el mismo resultado seleccionado el objeto y luego presionando /?. i selecciona varios objetos a la ve& y accede a la ventana de propiedades, slo se mostrarn las propiedades "ue son comunes para todos los controles seleccionados. (ual"uier cambio "ue se +aga a una propiedad ser aplicada a todos los controles. Esta%leciendo Propiedades en .iempo de E-ecuci!n !n tiempo de ejecucin, se puede escribir cdigo para establecer u obtener el valor de una propiedad. La siguiente l#nea de cdigo establece a negrita la fuente de un cuadro de te0to llamado t0t4ata. t0t4ata.2ont.Bold K 1rue L !stablece el te0to a negrita !ste cdigo establece la propiedad 3e,t del cuadro de te0to t0t4ata t0t4ata.1e0t K G<ola mundoG L!stablece el valor del te0to i se omite el nombre de la propiedad, se establece la propiedad predeterminada del control. La propiedad predeterminada de un cuadro de te0to es la propiedad 3e,t. La propiedad predeterminada de una eti"ueta es la propiedad (aption. Las siguientes l#neas de cdigo establecen las propiedades predeterminadas te0t y caption de un cuadro de te0to y de una eti"ueta. t0t4ata K G e establece la propiedad 1e0t del cuadro de te0toG lbl4ata K G e establece la propiedad (aption de la eti"uetaG /%teniendo Propiedades en .iempo de E-ecuci!n -uede emplear el siguiente cdigo para obtener el valor de una propiedad en tiempo de ejecucin. 4im s3ombre as tring s3ombre K t0t3ame.1e0t Procedi$ientos de E ento Visual Basic invoca automticamente procedimientos de evento en respuesta a acciones del teclado, del ratn o del sistema. -or ejemplo, los botones de comando tienen un

procedimiento de evento (licH. !l cdigo "ue se escriba en el procedimiento de evento (licH es ejecutado cuando el usuario +aga clic en un botn de comando. -ara abrir la ventana de cdigo, +aga doble clic en el control o formulario, +aga clic en la orden (di*o del men% Ver" (ada control tiene un conjunto fijo de procedimientos de evento. Los procedimientos de evento para cada control son mostrados en un cuadro de lista despegable en la ventana de cdigo. !l siguiente cdigo muestra el procedimiento de evento (licH para un botn de comando llamado cmd;J. -rivate ub cmd;JM(licH)* MsgBo0 G<olaG !nd ub ;rden de 3a!ulacion de los (ontroles !l orden de ta!ulacin es el orden en "ue un usuario se mueve de un control a otro pulsando la tecla 1ab. -or omisin, el orden de tabulacin es igual al orden en "ue se +an colocado los controles en el formulario. -ara cambiar el orden de tabulacin de los controles de un formulario, estable&ca el valor de la propiedad 3a!Inde, de cada control. !l valor de esta propiedad va desde E +asta n98, siendo n el n%mero de controles "ue tiene el formulario. 0uitar un control del orden de ta%ulaci!n 3ormalmente, presionando la tecla 1aben tiempo de ejecucin pasamos de un control a otro en el orden de tabulacin establecido. -odemos "uitar un control del orden de tabulacin si establecemos su propiedad 3a!-top en /alse" 'n control cuya propiedad 3a!-top se +a establecido en /alse sigue manteniendo su posicin en el orden de tabulacin actual, aun"ue el control es saltado al ir de un control a otro con la tecla 1ab. Nota: $os controles 1ue no pueden o%tener en+o1ue( al igual 1ue los controles desacti*ados o in*isi%les( no tienen la propiedad TabIndex y no est2n incluidos en el orden de ta%ulaci!n. Cuando el usuario presiona .a%( estos controles son ignorados. 3ecla de Acceso @apido a un (ontrol i el control tiene la propiedad (aption# se le puede asignar una tecla de acceso rpido para seleccionar el control y de esta manera el control recibir el enfo"ue cada ve& "ue se oprima AL3 A 3ecladeAcceso. -ara especificar la tecla de acceso rpido debe resaltar un carcter de la cadena en la propiedad (aption colocando delante de este el s#mbolo GNG" -or ejemplo si el valor de la propiedad (aption es la cadena 7suario# y se desea definir la tecla s como la de acceso rpido, deber establecer la propiedad (aption de la siguiente manera7 7Bsuario" !l te0to del control se ver as# 7suario.

.lgunos controles, tales como el control (uadro de 3e,to# no tiene la propiedad (aption" -ara crear una tecla de acceso para esos controles7 8. (olo"ue un control Eti9ueta cerca de otro control. ?. !stable&ca la propiedad (aption del control Eti9ueta para contener la tecla de acceso apropiada. =. !stable&ca para el control Eti9ueta un valor de orden de tabulacin menor en una unidad "ue el de otro control. (uando pulse AL3 A 3ecladeAcceso del control Eti9ueta, el enfo"ue se mover +acia el otro control debido a "ue el control Eti9ueta no puede recibir el enfo"ue. Parte C: Manejo de /or$ularios Mdulos de /or$ulario (ada formulario en su aplicacin tiene un mdulo de formulario asociado, estos son guardados con una e0tensin de arc+ivo 2:M y contienen7

Los valores de las propiedades para el formulario y sus controles. 4eclaracin de variables en el mbito del formulario. -rocedimientos de evento y procedimientos generales en el mbito del formulario.

Nota: $as descripciones gr2+icas de un +ormulario y los controles so%re el +ormulario son almacenados en +ormato %inario en un arc,i*o con extensi!n F34. Mdulos Est>ndar Los mdulos estndar pueden contener cdigo "ue es com%n a varios formularios en su aplicacin. !ste cdigo es por omisin p%blico, lo cual significa "ue fcilmente compartido con otros mdulos de cdigo, tales como un mdulo de formulario. !stos mdulos contienen declaraciones de procedimientos, tipos y variables. 3o pueden almacenar procedimientos de evento por "ue no contienen objetos. La Ventana de (di*o C!digo es un t$rmino general para todas las sentencias Visual Basic "ue usted escribe en una aplicacin7 procedimientos de evento y procedimientos generales. !l cdigo en Visual Basic se escribe en la ventana de (digo. !l editor de te0to es solo un editor . (66 con colores para diferenciar las palabras claves en el cdigo "ue escribe. La entana de C!digo se usa para escribir, mostrar y editar el cdigo de su aplicacin. -uede abrir una ventana de cdigo por cada mdulo de su aplicacin, de modo "ue puede fcilmente copiar y pegar entre ellos.

La Ventana de Cdigo contiene7 El Cuadro $ista de /%-etos Muestra el nombre del objeto seleccionado. <aga clic en la flec+a a la derec+a del cuadro ;bjeto para mostrar una lista de todos los objetos asociados con el formulario. El Cuadro $ista de E*entos Muestra todos los eventos reconocidos para el formulario o control mostrado en el cuadro ;bjeto. (uando seleccionamos un evento, en la ventana de cdigo se muestra el procedimiento de evento asociado con ese evento. $a Barra de Di*isi!n 4esde el men% entana puede ejecutar el comando Di*idir para dividir la ventana de cdigo en dos partes, cada una de las cuales se despla&a separadamente. -uede entonces ver diferentes partes de su cdigo al mismo tiempo. La informacin "ue aparece en el cuadro ;bjeto y -rocedimiento se refiere al cdigo en la parte "ue tiene el enfo"ue. !l mismo comando utili&ado para dividir la ventana puede utili&arlo para cerrar una de sus partes o tambi$n lo puede +acer arrastrando la barra de divisin +acia la parte superior o inferior de la ventana. El Bot!n er Procedimiento !stablece "ue en la ventana de cdigo se edite un procedimiento a la ve&. El Bot!n er M!dulo Completo !stablece "ue en la ventana de cdigo se tenga acceso a todos los procedimientos, separados por una l#nea separadora uno de otro.

Editando (di*o 'se las caracter#sticas de edicin de Visual Basic para "ue su cdigo sea ms fcil de leer. 5angr#a 'se la sangr#a para diferenciar partes de su cdigo, tales como estructuras repetitivas y condicionales. -ara aplicar sangr#a a una seccin de sentencias de un cdigo use la tecla 3a! o el comando Aplicar san*r4a del men% Edicin. e forma similar, -+i1t O 3a! o el comando Anular san*r4a del men% Edicin "uitar una sangr#a a las l#neas seleccionadas. Veamos el siguiente ejemplo7

Car2cter de Continuaci!n de $#nea !l carcter subrayado )M* es el carcter de continuacin de l#nea, y se usa para dividir una sentencia en m%ltiples l#neas. !sto +ace "ue la sentencia sea ms fcil de leer por"ue est contenida totalmente dentro de la ventana de cdigo en lugar de e0tenderse mas all de sus l#mites. !l carcter de continuacin de l#nea se coloca luego de un espacio de la sentencia, como se muestra en el siguiente ejemplo7 MsgBo0 GLa clave ingresada no es vlidaG, M vb;J;nly O vb!0clamation, M GMensajeG Comentarios !l a,adir documentacin y comentarios a su cdigo permite comprender mejor lo "ue +ace el cdigo. !sto tambi$n ayuda a comprender el cdigo si necesita volver a revisarlo en alguna fec+a posterior. 'n comentario se inicia con el carcter apstrofe )P*, de modo "ue todo el te0to "ue contin%e a este carcter ser ignorado en la ejecucin de la aplicacin. Veamos el siguiente ejemplo7

(uadro de Mensaje % de Entrada 'na de las formas ms simples de obtener informacin para y desde el usuario es utili&ando las funciones Ma*Bo, e InpuBo, respectivamente. Funci!n MsgBox67 Los cuadros de mensaje ofrecen un modo simple y rpido de consultar a los usuarios por informacin simple o para permitirles tomar decisiones sobre el camino "ue su programa debe tomar. -uede usar esta funcin para mostrar diferentes tipos de mensaje y botones con los cuales el usuario da una respuesta.

/or$ato MsgBo0) prompt Q, buttonsR Q, title R Q, +elpfile, conte0tR * !L formato de la funcin MsgBo0 consta de los siguientes argumentos7 Parte Descripcin -rompt :e"uerido. !0presin de cadena "ue representa el mensaje en el cuadro de dilogo. La longitud m0ima de prompt es de apro0imadamente 8E?> de caracteres, seg%n el anc+o de los caracteres utili&ados. i prompt consta de ms de una l#nea, puede separarlos utili&ando un carcter de retorno de carro )(+r)8=* * o un carcter de avance de l#nea )(+r)8E* *, o una combinacin de caracteres de retorno de carro 9 avance de l#nea )(+r)8= y (+r)8E* * entre cada l#nea y la siguiente. Buttons ;pcional. !0presin num$rica "ue corresponde a la suma de los valores "ue especifican el n%mero y el tipo de los botones "ue se pretenden mostrar, el estilo de icono "ue se va a utili&ar, la identidad del botn predeterminado y la modalidad del cuadro de mensajes. i se omite este argumento, el valor predeterminado para buttons es E. 1itle ;pcional. !0presin de cadena "ue se muestra en la barra de t#tulo del cuadro de dilogo. i se omite title, en la barra de t#tulo se coloca el nombre de la aplicacin.

<elpfile ;pcional. !0presin de cadena "ue identifica el arc+ivo de .yuda "ue se utili&a para proporcionar ayuda interactiva en el cuadro de dilogo. i se especifica +elpfile, tambi$n se debe especificar conte0t. (onte0t ;pcional. !0presin num$rica "ue es igual al n%mero de conte0to de .yuda asignado por el autor al tema de .yuda correspondiente. i se especifica conte0t, tambi$n se debe especificar +elpfile. Valores !l argumento buttons puede asumir los siguientes valores7

!l primer grupo de valores )E a A* describe el n%mero y el tipo de los botones mostrados en el cuadro de dilogo/ el segundo grupo )8B, =?, >D, B>* describe el estilo del icono, el tercer grupo )E, ?AB, A8?, CBD* determina el botn predeterminado y el cuarto grupo )E, >ESB* determina la modalidad del cuadro de mensajes. (uando se suman n%meros para obtener el valor final del argumento buttons, se utili&a solamente un n%mero de cada grupo. Nota8 Estas constantes las especi+ica isual Basic. Por tanto( el nom%re de las mismas puede utilizarse en cual1uier lugar del c!digo en *ez de sus *alores reales. Valores de ueltos

Nota: 5i desea omitir algn argumento( de%e incluir el delimitador de coma correspondiente o utilizar argumentos con nom%re. Eje$plos

Funci!n InpuBox67

La funcin 6nputBo0 muestra un mensaje en un cuadro de dilogo, espera "ue el usuario escriba un te0to o +aga clic en un botn y devuelve un tipo tring con el contenido del cuadro de te0to.

/or$ato 6nputBo0) prompt Q, titleR Q, defaultR Q, 0posR Q,yposR Q, +elpfile, conte0tR * !l formato de la funcin 6npuBo0 consta de los siguientes argumentos con nombre7 Parte Descripcin -rompt :e"uerido. !0presin de cadena "ue se muestra como mensaje en el cuadro de dilogo. La longitud m0ima de prompt es de apro0imadamente de 8E?> caracteres, seg%n el anc+o de los caracteres utili&ados. i prompt consta de ms de una l#nea, puede separarlos utili&ando un carcter de retorno de carro )(+r)8=**, un carcter de avancede l#nea )(+r)8E** o una combinacin de los caracteres de retorno de carro T avance de l#nea )(+r)8=* y )(+r)8E** entre cada l#nea y la siguiente. 1itle ;pcional. !0presin de cadena "ue se muestra en la barra de t#tulo del cuadro de dilogo. i omite title, en la barra de t#tulo se coloca el nombre de la aplicacin. 4efault ;pcional. !0presin de cadena "ue se muestra en el cuadro de te0to como respuesta predeterminada. i omite default, se muestra el cuadro de te0to vac#o. Fpos ;pcional. !0presin num$rica "ue especifica, la distancia en sentido +ori&ontal entre el borde i&"uierdo del cuadro de dilogo y el borde i&"uierdo de la pantalla. i se omite 0pos, el cuadro de dilogo se centra +ori&ontalmente. Upos ;pcional. !0presin num$rica "ue especifica, la distancia en sentido +ori&ontal entre el borde i&"uierdo del cuadro de dilogo y el borde i&"uierdo de la pantalla. i se omite ypos, el cuadro de dilogo se coloca apro0imadamente un tercio de la altura de la pantalla, desde el borde superior de la misma. <elpfile ;pcional. !0presin de cadena "ue identifica el arc+ivo de .yuda "ue se utili&ar para proporcionar ayuda interactiva para el cuadro de dilogo. i se especifica +elpfile, tambi$n deber especificar conte0t. (onte0t ;pcional. !0presin num$rica "ue es el n%mero de conte0to de .yuda asignado por el autor al tema de .yuda correspondiente. i se especifica conte0t, tambi$n deber especificarse +elpfile. (o$entarios

i el usuario +ace clic en (ancelar, la funcin devuelve una cadena de caracteres de longitud cero )GG*. Nota: 5i desea omitir algunos argumentos( de%e incluir el delimitador de coma correspondiente o utilizar argumentos con nom%re. (onstantes Prede1inidas Visual Basic reconoce cierta cantidad de constantes predefinidas "ue pueden se usadas en cual"uier parte de su cdigo en lugar de valores num$ricos. -uede +acer "ue su cdigo sea ms fcil de leer y escribir mediante el uso de estas constantes. .dems, los valores de estas constantes pueden cambiar en versiones posteriores de Visual Basic, su uso permitir "ue su cdigo sea compatible. -or ejemplo, la propiedad Dindo.-tate de un formulario puede aceptar las siguientes constantes7

-or ejemplo, para establecer el estado del formulario 1r$Entrada en ma0imi&ado, la sentencia ser#a7 frm!ntrada.Window tate K vbMa0imi&ed Manejo de /or$ularios 3ormalmente la intefa& de una aplicacin est compuesta por varios formularios. (uando Visual Basic inicia la aplicacin, automticamente se muestra el formulario de arran"ue, mientras "ue los otros formularios deben ser mostrados y ocultados a trav$s de cdigo. !l m$todo o funcin usado depende de lo "ue deseamos +acer.

M&todo 5,o9 Muestra un formulario. i el formulario no est cargado al momento de ejecutar el m$todo +ow, Visual Basic lo cargar automticamente. /or$ato 3ombre4el2ormulario. +ow

Eje$plo 2rm!ntrada. +ow 5entencia $oad (arga un formulario a la memoria, pero no lo muestra. /or$ato Load 3ombre4el2ormulario Eje$plo Load 2rm!ntrada E*ento $oad !l evento Load ocurre cuando el formulario es cargado en la memoria. !sto sucede cuando se usa la sentencia Load, o cuando se invoca el m$todo -+o. y el formulario a%n no est cargado en memoria. 3ormalmente, este evento se utili&a para establecer algunas propiedades del formulario, los controles "ue se encuentran en $l, o variables a nivel del formulario. Eje$plos:

M&todo Hide ;culta un formulario, pero no lo descarga de memoria. /or$ato 3ombre4el2ormulario.<ide Eje$plo: frm6ngreso.<ide 5entencia :nload

4escarga un formulario de memoria /or$ato 'nload 3ombre4el2ormulario (o$entarios La descarga de un formulario puede ser necesario o conveniente en a"uellos casos en los "ue la memoria utili&ada se necesite para alguna otra tarea o cuando sea necesario restablecer las propiedades a sus valores originales. .ntes de descargar un formulario se ejecuta el evento 7nload :Form_Unload . i establece el argumento (ancelar a 3rue en este evento, no se descargar el formulario. -u*erencia 'se la palabra Me para referirse al formulario actual. Eje$plo P 4escarga el formulario actual -rivate ub cmd(errar9(licH ) * 'nload Me !nd ub E*ento :nload ;curre cuando un formulario est a punto de descargarse. !ste evento se desencadena por"ue un usuario cierra el formulario mediante el comando (errar del men% (ontrol o una sentencia 7nload" !l parmetro (ancelar# es un entero "ue determina si el formulario es descargado. i (ancelar es E, el formulario se descarga. !stablecer (ancelar a cual"uier valor distinto de cero impide "ue el formulario sea descargado. Eje$plo

/or$ularios Modales % 0o Modales 'n formulario "ue se abre como !odal, no permite "ue el usuario interact%e con otros formularios de la misma aplicacin +asta "ue no sea cerrado. 'n formulario "ue se abre como No !odal, permite al usuario cambiar a otros formularios de la misma aplicacin sin "ue los primeros sean cerrados. !l argumento "stilo del m$todo #$o% determina si el formulario se abre como !odal o No !odal. Eje$plos

/inaliEacin de una Aplicacin e puede finali&ar la ejecucin de la aplicacin descargando el %ltimo formulario de la aplicacin o usando la sentencia "nd. La sentencia "nd termina la ejecucin de la aplicacin y descarga todos los formularios. (uando finali&a su aplicacin con la sentencia End no se desencadena ning%n evento de los formularios. Eje$plos

El Editor de $en=s !sta +erramienta permite crear men%s personali&ados para la aplicacin y definir sus propiedades. -ara ingresar, estando en tiempo de dise,o, +aga clic en el men% )erra$ientas y luego en la orden Editor de Men=s o en el botn e"uivalente de la barra de +erramientas estndar.

Nota: Para poder ingresar el editor de mens no de%e encontrarse en la *entana de c!digo. /pciones del cuadro de di2logo

A6adiendo (ontroles Adicionales al (uadro de )erra$ientas !l (uadro de <erramientas contiene los controles intr#nsecos o estndar de Visual Basic. !s posible ampliar el cuadro de +erramientas a,adiendo controles .ctiveF. La edicin profesional de Visual Basic proporciona controles .ctiveF adicionales. 1ambi$n es posible comprar controles .ctiveF a terceras partes. -ara a,adir un control .ctiveF al cuadro de +erramientas +aga lo siguiente7 8. !n el men% Pro%ecto, +aga clic en (o$ponentes. Visual Basic mostrar el cuadro de dilogo (o$ponentes. ?. !n la fic+a (ontroles, +aga clic en el control "ue desea incluir, y luego +aga clic en Aceptar. Visual Basic a,adir el control al cuadro de +erramientas.

El control .oolBar 'n control 3ool!ar contiene una coleccin de objetos Button utili&ados para crear una barra de +erramientas asociada a una aplicacin. (o$entarios 3ormalmente, una barra de +erramientas contiene botones "ue corresponden a elementos de men% de una aplicacin, proporcionando una interfa& grfica al usuario "ue le permite tener acceso a las funciones y comandos empleados con ms frecuencia en esa aplicacin. !l control 3ool!ar le permite crear barras de +erramientas agregando objetos Button a una coleccin Buttons/ cada objeto Button puede tener te0to opcional o una imagen, proporcionados por un control I$a*eList asociado. -uede mostrar una imagen en un botn con la propiedad I$a*e o mostrar te0to con la propiedad (aption, o ambos, para cada objeto Button. !n tiempo de dise,o puede agregar objetos Button al control utili&ando la P>*ina de propiedades del control 1oolbar. !n tiempo de ejecucin, puede agregar o "uitar botones de la coleccin Buttons mediante los m$todos Add y @e$o e. -ara programar el control 3ool!ar, agregue cdigo al evento Button(lic' para "ue responda al botn seleccionado. 1ambi$n puede determinar el comportamiento y la apariencia de cada objeto Button mediante la propiedad -t%le. -or ejemplo, si a cuatro botones se les asigna el estilo Button5roup, slo se podr presionar uno de ellos y al menos uno estar siempre presionado. La facilidad de uso se mejora considerablemente programando descripciones 3ool3ip3e,t de cada objeto Button. -ara mostrar informacin sobre +erramientas, la propiedad -+o.3ips debe establecerse a 1rue. El Control Image$ist 'n control I$a*eList contiene una coleccin de objetos ListI$a*e, a cada uno de los cuales se puede +acer referencia mediante su #ndice o su clave. !l control I$a*eList no est concebido para utili&arlo en solitario, sino como punto de almacenamiento central para proporcionar cmodamente imgenes a otros controles. (o$entarios -uede usar el control I$a*eList con cual"uier control "ue asigne un objeto Picture a una propiedad Picture. !s posible agregar imgenes de diferentes tama,os al control I$a*eList, pero todas se ajustan al mismo tama,o. !l tama,o de los objetos de ListI$a*e est determinado por uno de los siguientes valores7

!l valor de las propiedades I$a*eDidt+ y I$a*e)ei*+t antes de agregar alguna imagen. Las dimensiones de la primera imagen agregada.

3o +ay ninguna limitacin en cuanto al tama,o de la imagen, pero el n%mero total de imgenes "ue se puede cargar est limitado por la cantidad de memoria disponible. 4urante el dise,o del programa puede agregar imgenes mediante la fic+a 5eneral del cuadro de dilogo Propiedades del control I$a*eList. !n tiempo de ejecucin puede agregar imgenes mediante el m$todo Add para la coleccin ListI$a*es. Nota8 $os controles Toolbar e Image&ist +orman parte del grupo de controles "cti*e4 adicionales Microso+t ;indo9s Common Controls <.= 6arc,i*o C/MC.$>)./C47. Para usarlos en su aplicaci!n de%e agregar el arc,i*o C/MC.$>)./C4 al proyecto. Cuando distri%uya su aplicaci!n( instale el arc,i*o C/MC.$>)./C4 en la carpeta 5ystem o 5ystem>) 6en plata+ormas con ;indo9s ?.7 de Microso+t ;indo9s del usuario. 6nterfa& de M%ltiples 4ocumentos )M46 T Multiple 4ocument 6nterfase* El /%-eto MDIForm 'n formulario M46 es una ventana "ue act%a como fondo de una aplicacin y es el contenedor de formularios "ue tienen su propiedad M46(+ild establecida a 1rue. -ara crear un objeto M462orm, elija A*re*ar 1or$ulario MDI en el men% Pro%ecto, luego de agregarlo tenga en cuenta lo siguiente7

'na aplicacin slo puede tener un objeto M462orm, pero varios formularios secundarios M46. i un formulario secundario M46 tiene men%s, la barra de men%s del formulario secundario reempla&ar automticamente a la barra de men%s del objeto M462orm cuando el formulario secundario M46 est$ activo. 'n formulario secundario M46 minimi&ado se mostrar como un icono en el M462orm. 'n objeto M462orm slo puede contener controles Menu y -ictureBo0, y controles personali&ados "ue tengan una propiedad .lign. -ara colocar otros controles en un M462orm, puede dibujar un cuadro de imagen en el formulario y despu$s dibujar otros controles dentro del cuadro de imagen. -uede utili&ar el m$todo -rint para mostrar te0to en un cuadro de imagen de un M462orm, pero no puede usar este m$todo para mostrar te0to en el M462orm propiamente dic+o. 'n objeto M462orm no puede ser modal. Los formularios secundarios M46 se dise,an de forma independiente del M462orm, pero siempre estn contenidos en el M462orm en tiempo de ejecucin.

Formulario secundario MDI 'n formulario contenido dentro de un formulario M46 en una aplicacin con interfa& de m%ltiples documentos )M46*. -ara crear un formulario secundario, estable&ca su propiedad M46(+ild a 1rue. Propiedad MDIC,ild 4evuelve o establece un valor "ue indica si un formulario debe mostrarse como formulario secundario M46 dentro de un formulario M46. !s de slo lectura en tiempo de ejecucin. Los valores admitidos para la propiedad M46(+ild son7 Valor Descripcin 1rue !l formulario es M46 secundario y se mostrar dentro del formulario M46 primario. 2alse )-redeterminado* !l formulario no es M46 secundario. (o$entarios 'tilice esta propiedad al crear una aplicacin con interfa& de m%ltiples documentos )M46*. !n tiempo de ejecucin, los formularios "ue tengan establecida a 1rue esta propiedad se mostrarn dentro de un formulario M46. Los formularios M46 secundarios pueden ma0imi&arse, minimi&arse y despla&arse, siempre dentro del formulario M46 primario. (uando trabaje con formularios M46 secundarios, tenga en cuenta lo siguiente7

!n tiempo de ejecucin, cuando un formulario M46 secundario se ma0imi&a, su t#tulo se combina con el del formulario M46 primario. !n tiempo de dise,o, los formularios M46 secundarios se muestran de la misma forma "ue el resto y slo se mostrarn dentro del formulario primario en tiempo de ejecucin. !l icono de un formulario M46 secundario en la ventana -royecto es distinto de los iconos de otros tipos de formularios. Los formularios M46 secundarios no pueden ser modales. !l entorno operativo Microsoft Windows controla el tama,o y la posicin iniciales de los formularios M46 secundarios, a menos "ue los estable&ca espec#ficamente en el procedimiento de evento Load. i se +ace referencia a un formulario M46 secundario antes de cargar el formulario M46 primario, $ste se cargar automticamente. in embargo, si se +ace referencia al formulario M46 primario antes de cargar un formulario M46 secundario, el formulario M46 secundario no se cargar.

También podría gustarte