Professional Documents
Culture Documents
TOTOLAN, MICHOACAN
MEXICO
DICIEMBRE 2000.
Impartido Por:
Qu es Visual Basic?
La palabra "Visual" hace referencia al mtodo que se utiliza para crear la interfaz grfica de usuario
(GUI). En lugar de escribir numerosas lneas de cdigo para describir la apariencia y la ubicacin de
los elementos de la interfaz, simplemente puede arrastrar y colocar objetos prefabricados en su lugar
dentro de la pantalla.
Antes de comenzar es bueno que conozca lo siguiente:
Objetos.
Es cualquier control que forma parte de la aplicacin y estos a su vez tienen asociado un conjunto de
propiedades, mtodos y eventos. Ejemplo: Una caja de texto (TextBox) en la cual podemos escribir
cualquier lnea es un objeto.
Propiedades.
Son las caractersticas especificas que posee un objeto o un formulario.
Ejemplo : Color de fondo del formulario, Fuente de texto de un TextBox, etc.
Valor
Es el contenido especifico que se le asigna a cada una de las propiedades de los objetos.
Ejemplo: Color:Azul, Fuente: Arial, Tamao:10, A.lineacin:Centrada, etc.
Mtodos.
Los mtodos son funciones internas de un determinado objeto que permite realizar funciones sobre l
o sobre otro objeto.
Ejemplo : Deseamos poner en la ventana Windows de nuestra aplicacin "Hola mundo", por tanto
pondremos el mtodo -> Ventana.Print "Hola mundo"
Eventos.
Los eventos son acciones que se pueden realizar en cualquier control: clic, doble clic, movimiento del
ratn. A estos eventos se les puede asociar cdigo para que se ejecute al producir el evento.
Un programa Visual Basic es un POE (Programa orientado a eventos).
Todo lo que hacemos en un programa Visual Basic est generado por medio de eventos
En una aplicacin controlada por eventos, el cdigo no sigue una ruta predeterminada; ejecuta
distintas secciones de cdigo como respuesta a los eventos. Los eventos pueden desencadenarse
por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o incluso por la propia
aplicacin. La secuencia de estos eventos determina la secuencia en la que se ejecuta el cdigo, por
lo que la ruta a travs del cdigo de la aplicacin es diferente cada vez que se ejecuta el programa.
Puesto que no puede predecir la secuencia de los eventos, el cdigo debe establecer ciertos
supuestos acerca del "estado del mundo" cuando se ejecute. Cuando haga suposiciones (por
ejemplo, que un campo de entrada debe contener un valor antes de ejecutar un procedimiento para
procesar ese valor), debe estructurar la aplicacin de forma que asegure que esa suposicin siempre
ser vlida (por ejemplo, deshabilitando el botn de comando que inicia el procedimiento hasta que el
campo de entrada contenga un valor).
El cdigo tambin puede desencadenar eventos durante la ejecucin. Por ejemplo, cambiar mediante
programacin el texto de un cuadro de texto hace que se produzca el evento Change del cuadro de
texto. Esto causara la ejecucin del cdigo (si lo hay) contenido en el evento Change. Si supone que
este evento slo se desencadenar mediante la interaccin del usuario, podra ver resultados
inesperados. Por esta razn es importante comprender el modelo controlado por eventos y tenerlo en
cuenta cuando disee su aplicacin.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 2 -
Proyecto.
Para crear una aplicacin con Visual Basic se trabaja con proyectos. Un proyecto es una coleccin de
archivos que se usan para generar una aplicacin. Este tema describe cmo generar y administrar
proyectos.
Al crear una aplicacin probablemente crear nuevos formularios; tambin puede volver a usar o
modificar formularios creados en proyectos anteriores. Esto tambin se aplica a otros mdulos o
archivos que pueda incluir en su proyecto. Los controles ActiveX y los objetos de otras aplicaciones
tambin se pueden compartir entre proyectos.
Despus de ensamblar todos los componentes de un proyecto y escribir el cdigo, puede compilar el
proyecto para crear un archivo ejecutable.
Componentes de un Proyecto.
Cuando desarrolla un aplicacin, trabaja con un archivo de proyecto para administrar todos los
diferentes archivos que crea. Un proyecto consta de lo siguiente:
Un archivo de proyecto que realiza el seguimiento de todos los componentes (.vbp)
Un archivo para cada formulario (.frm).
Un archivo de datos binario para cada formulario que contenga datos sobre propiedades de
controles del formulario (.frx). Estos archivos no se pueden modificar y los genera
automticamente cualquier archivo.frm que tenga propiedades en formato binario, como Picture o
Icon.
Opcionalmente, un archivo para cada mdulo de clase (.cls).
Opcionalmente, un archivo para cada mdulo estndar (.bas).
Opcionalmente, uno o ms archivos con controles ActiveX (.ocx).
Opcionalmente, un nico archivo de recursos (.res).
El archivo de proyecto es simplemente una lista de todos los archivos y objetos asociados con el
proyecto, as como informacin sobre las opciones de entorno establecidas. Esta informacin se
actualiza cada vez que guarda el proyecto. Todos los archivos y objetos tambin se pueden compartir
con otros proyectos.
Cuando ha completado todos los archivos del proyecto puede convertir el proyecto en un archivo
ejecutable (.exe): en el men Archivo, elija el comando Generar proyecto.exe.
Formularios
Un formulario es una ventana. La ventana Windows de cualquier aplicacin.
Podemos abrir tantas ventanas como queramos en nuestro proyecto, pero el nombre de las ventanas
debe ser distinto. Por defecto como ya hemos visto, la ventana que se abre en Visual Basic tiene el
nombre de Form1. Ya veremos como cambiar estas "Propiedades" ms adelante.
Los mdulos de formularios (extensin de nombre de archivo .frm) pueden contener descripciones en
forma de texto del formulario y sus controles, incluyendo los valores de sus propiedades. Tambin
pueden contener declaraciones a nivel de formulario de constantes, variables y procedimientos
externos, procedimientos de evento y procedimientos generales.
Mdulos estndar
Un mdulo es un archivo Visual Basic donde escribimos parte del cdigo de nuestro programa, y digo
parte, porque puede haber cdigo en el formulario tambin.
Las rutinas incluidas dentro de los mdulos pueden ser ejecutadas desde los formularios de la
aplicacin.
Los mdulos estndar (extensin de nombre de archivo.bas) pueden contener declaraciones pblicas
o a nivel de mdulo de tipos, constantes, variables, procedimientos externos y procedimientos
pblicos.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 3 -
Controles estndar
Los controles estndar los proporciona Visual Basic. Los controles estndar, como CommandButton
(botn de comando) o Frame (marco), siempre estn incluidos en el cuadro de herramientas, al
contrario de lo que ocurre con los controles ActiveX y los objetos insertables, que se pueden agregar
y quitar del cuadro de herramientas.
Entorno de Desarrollo.
Cuando inicia una sesin de trabajo con Visual Basic, aparece en la ventana el siguiente cuadro de
dialogo:
Debe elegir el que se
adapte a sus
necesidades, para
nuestro ejemplo elija
EXE Estndar y haga
clic en el botn Abrir.
Barra de mens
Botones de control
Barra de
herramientas
Cuadro de
herramientas
Ventana de Formularios
Formulario
Ventana de propiedades
Barra de tareas
Ventana de Proyecto.
Pulse "Ctrl+R" (Ver -> Proyecto) y se abrir la ventana de proyectos
En esta ventana tenemos todos los ficheros del proyecto Visual
Basic en el que vamos a trabajar.
Formulario.
Al principio y por defecto, el programa abre un formulario con
el nombre Form1 que es la ventana Windows de nuestra
aplicacin.
- 4 -
Ventana de Propiedades.
Pulsando la tecla "F4", aparecer la ventana de propiedades. Esta ventana
es fundamental, ya que contiene todas las propiedades de cada objeto que
insertaremos en nuestro formulario, as como las propiedades del
formulario en s.
Caja de Herramientas.
La ventana caja de herramientas contiene todos los
objetos que podemos incluir en nuestro formulario. Esta
ventana se puede abrir en el men principal (Ver -> Caja
de herramientas).
Fundamentos de Programacin.
Cada mdulo de formulario contiene procedimientos de evento (secciones de cdigo donde se
colocan las instrucciones que se ejecutarn como respuesta a eventos especficos). Los formularios
pueden contener controles. Por cada control de un formulario, existe el correspondiente conjunto de
procedimientos de evento en el mdulo de formulario.
Como funciona una aplicacin controlada por eventos.
Un evento es una accin reconocida por un formulario o un control. Las aplicaciones controladas por
eventos ejecutan cdigo Basic como respuesta a un evento. Cada formulario y control de Visual Basic
tiene un conjunto de eventos predefinidos. Si se produce uno de dichos eventos y el procedimiento de
evento asociado tiene cdigo, Visual Basic llama a ese cdigo.
Aunque los objetos de Visual Basic reconocen automticamente un conjunto predefinido de eventos,
usted decide cundo y cmo se responder a un evento determinado. A cada evento le corresponde
una seccin de cdigo (un procedimiento de evento). Cuando desea que un control responda a un
evento, escribe cdigo en el procedimiento de ese evento.
Los tipos de eventos reconocidos por un objeto varan, pero muchos tipos son comunes a la mayora
de los controles. Por ejemplo, la mayora de los objetos reconocen el evento Click: si un usuario hace
clic en un formulario, se ejecuta el cdigo del procedimiento de evento Click del formulario; si un
usuario hace clic en un botn de comando, se ejecuta el cdigo del procedimiento de evento Click del
botn. El cdigo en cada caso ser diferente.
Variables.
El alcance de una variable define qu partes del cdigo son conscientes de su existencia. Cuando
declara una variable en un procedimiento, slo el cdigo de dicho procedimiento puede tener acceso
o modificar el valor de la variable; tiene un alcance que es local al procedimiento. Dependiendo de
cmo se declara, una variable tiene como alcance un procedimiento (local) o un mdulo.
Variables utilizadas en un procedimiento
Las variables a nivel de procedimiento slo se reconocen en el procedimiento en el que se han
declarado. Se las conoce tambin como variables locales. Se declaran mediante las palabras clave
Dim o Static. Por ejemplo: Dim intTemp As Integer o bien Static intPermanent As Integer
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 5 -
Los valores de variables locales declaradas con Static existen mientras se ejecuta la aplicacin,
mientras que las variables declaradas con Dim slo existen mientras se ejecuta el procedimiento.
Las variables locales resultan una eleccin apropiada para clculos temporales. Por ejemplo, puede
crear una docena de procedimientos distintos que contengan una variable llamada intTemp. Como
cada intTemp se ha declarado como una variable local, cada procedimiento slo reconoce su propia
versin de intTemp. Cualquier procedimiento puede alterar el valor de su intTemp local sin que ello
afecte a las variables intTemp de los dems procedimientos.
Variables utilizadas en un mdulo
De forma predeterminada, una variable a nivel de mdulo est disponible para todos los
procedimientos del mdulo, pero no para el cdigo de otros mdulos. Cree variables a nivel de
mdulo declarndolas con la palabra clave Private en la seccin Declaraciones al principio del
mdulo. Por ejemplo: Private intTemp As Integer
Variables utilizadas por todos los mdulos
Para hacer que una variable a nivel de mdulo est disponible para otros mdulos, utilice la palabra
clave Public para declarar la variable. Los valores de las variables pblicas estn disponibles para
todos los procedimientos de la aplicacin. Al igual que todas las variables a nivel de mdulo, las
variables pblicas se declaran en la seccin Declaraciones al principio del mdulo. Por ejemplo:
Public intTemp As Integer
Nota No puede declarar variables pblicas en un procedimiento, slo en la seccin Declaraciones
de un mdulo.
Declaracin
La forma de declarar las variables es la siguiente:
Dim| Public| Static nombre_variable As tipo
Dim: Al declarar una variable con esta palabra estamos diciendo que la variable sea local al mbito
en que se declara. Puede ser dentro de un procedimiento o dentro de un formulario, de esta forma no
sera accesible desde los dems procedimientos o formularios.
Public: Las variables declaradas sern publicas y podrn estar accesibles desde todos los
formularios de la aplicacin. Para conseguirlo tendremos que declararlas en un mdulo de cdigo, no
en la seccin declarations de cualquier formulario de los que conste la aplicacin. Para crear un
mdulo de cdigo en el men principal de Visual Basic marcamos en Proyecto/Agregar modulo y
aparecer junto a los dems formularios de la ventana de proyecto aunque con un icono distinto
indicando que se trata de un mdulo de cdigo.
Static: Con esta forma de declarar variables conseguiremos que las variables locales no se creen y
se destruyan al entrar y salir de los procedimientos donde fueron declaradas sino que se mantenga
su valor durante todo el periodo de ejecucin de la aplicacin. De esta forma a entrar en algn
procedimiento las variables recuerdan el valor que tenan cuando se sali de l.
Tipos de datos
Boolean
Date
Doble
precision
Integer
Long integer
Single
String
Variant
Dim num2%
Dim sueldo&
Dim precio!
Dim cade1$
Dim uno,dos
- 6 -
Operadores matemticos:
Operador
Operacin
+ - * / Suma, resta, multiplicacin, divisin.
\ Mod ^ Divisin entera, residuo, exponenciacin.
&
Concatenacin
Ejemplos:
((5+15) / 2) 4 = 6
(6*2)+4 = 16
3^2=9
9\3 =0
5&2 = 52
67&3 = 673
Operadores de comparacin:
Operador
Operacin
=
<>
Igual, distinto a.
>
<
Mayor que, menor que.
>=
< = Mayor o igual que, menor o igual que.
5 = (10/2) si
5 > 4 si
3 >=4 no
Operadores lgicos:
Operador
Operacin
And
Or Y, o.
Not
Xor Negacin.
Ejemplos:
5 <> (10/2) no
5 < 4 no
3 <=4 si
Ejemplos:
((edad>=1) and (edad<=5)) = nio
- 7 -
Un procedimiento Sub es un bloque de cdigo que se ejecuta como respuesta a un evento. Al dividir
el cdigo de un mdulo en procedimientos Sub, es ms sencillo encontrar o modificar el cdigo de la
aplicacin.
La sintaxis de un procedimiento Sub es la siguiente:
[Private|Public][Static]Sub nombre_procedimiento (argumentos)
instrucciones
End Sub
Cada vez que se llama al procedimiento se ejecutan las instrucciones que hay entre Sub y End Sub.
Se pueden colocar los procedimientos Sub en mdulos estndar, mdulos de clase y mdulos de
formulario. De forma predeterminada, los procedimientos Sub son Public en todos los mdulos, lo
que significa que se les puede llamar desde cualquier parte de la aplicacin.
Los argumentos de un procedimiento son como las declaraciones de variables; se declaran valores
que se pasan desde el procedimiento que hace la llamada.
Resulta muy til en Visual Basic distinguir entre dos tipos de procedimientos Sub, procedimientos
generales y procedimientos de evento.
Procedimientos de evento
Cuando un objeto en Visual Basic reconoce que se ha producido un evento, llama automticamente
al procedimiento de evento utilizando el nombre correspondiente al evento. Como el nombre
establece una asociacin entre el objeto y el cdigo, se dice que los procedimientos de evento estn
adjuntos a formularios y controles.
Un procedimiento de evento de un control combina el nombre real del control (especificado en la
propiedad Name), un carcter de subrayado (_) y el nombre del evento. Por ejemplo, si desea
que un botn de comando llamado cmdPlay llame a un procedimiento de evento cuando se haga
clic en l, utilice el procedimiento cmdPlay_Click.
- 8 -
- 9 -
- 10 -
Por ejemplo, la aplicacin podra realizar distintas acciones dependiendo del control en que se haya
hecho clic de una matriz de controles de men:
Private Sub Command1_Click()
Dim edad As Integer
edad = Text1.Text
If edad >= 18 Then
MsgBox ("Mayor de edad")
Else
MsgBox ("menor de edad")
End If
End Sub
Estructura: Select - Case
Visual Basic proporciona la estructura Select Case como alternativa a If...Then...Else para ejecutar
selectivamente un bloque de instrucciones entre varios bloques de instrucciones. La instruccin
Select Case ofrece posibilidades similares a la instruccin If...Then...Else, pero hace que el cdigo
sea ms legible cuando hay varias opciones.
La estructura Select Case funciona con una nica expresin de prueba que se evala una vez
solamente, al principio de la estructura. Visual Basic compara el resultado de esta expresin con los
valores de cada Case de la estructura. Si hay una coincidencia, ejecuta el bloque de instrucciones
asociado a ese Case:
Select Case expresin_prueba
[Case lista_expresiones1
[bloque de instrucciones 1]]
[Case lista_expresiones2
[bloque de instrucciones 2]]
[Case Else
[bloque de instrucciones n]]
End Select
Cada lista_expresiones es una lista de uno o ms valores. Si hay ms de un valor en una lista, se
separan los valores con comas. Cada bloque de instrucciones contiene cero o ms instrucciones. Si
ms de un Case coincide con la expresin de prueba, slo se ejecutar el bloque de instrucciones
asociado con la primera coincidencia. Visual Basic ejecuta las instrucciones de la clusula (opcional)
Case Else si ningn valor de la lista de expresiones coincide con la expresin de prueba.
Por ejemplo, suponga que agrega otro comando al men Edicin en el ejemplo If...Then...Else.
Podra agregar otra clusula ElseIf o podra escribir la funcin con Select Case:
Por ejemplo, suponga que agrega ^tres botones de comando a su formulario, pero adems los
establece como matriz. Podra agregar el cdigo siguiente con Select Case:
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0
MsgBox ("Mujer")
Case 1
MsgBox ("Varon")
Case 2
MsgBox ("Joven")
End Select
End Sub
- 11 -
Estructuras de Repeticin
Do While Loop / Do Loop While.
Utilice el bucle Do para ejecutar un bloque de instrucciones un nmero indefinido de veces. Hay
algunas variantes en la instruccin Do...Loop, pero cada una evala una condicin numrica para
determinar si contina la ejecucin. Como ocurre con If...Then, la condicin debe ser un valor o una
expresin que d como resultado False (cero) o True (distinto de cero).
Do...Loop siguiente, las instrucciones se ejecutan siempre y cuando condicin sea True:
Do While condicin
instrucciones
Loop
Cuando Visual Basic ejecuta este bucle Do, primero evala condicin. Si condicin es False (cero),
se salta todas las instrucciones. Si es True (distinto de cero), Visual Basic ejecuta las instrucciones,
vuelve a la instruccin Do While y prueba la condicin de nuevo.
Por tanto, el bucle se puede ejecutar cualquier nmero de veces, siempre y cuando condicin sea
distinta de cero o True. Nunca se ejecutan las instrucciones si condicin es False inicialmente. Por
ejemplo, este procedimiento pide al usuario, un numero y despus dice, si desea continuar (S/N), si
el usuario decide que s debe pulsar S, en caso de no continuar, pulsa cualquier tecla, el bucle se
repite mientras pulsa S:
Private Sub Form_Load()
Dim control As String * 1
Dim num As Integer
control = "S"
Do While control = "S"
num = InputBox$("Introduzca numero:")
control = InputBox$("Desea continuar (S/N)?")
Loop
End
End Sub
- 12 -
Nota El argumento incremento puede ser positivo o negativo. Si incremento es positivo, iniciar debe
ser menor o igual que finalizar o no se ejecutarn las instrucciones del bucle. Si incremento es
negativo, iniciar debe ser mayor o igual que finalizar para que se ejecute el cuerpo del bucle. Si no se
establece Step, el valor predeterminado de incremento es 1.
Al ejecutar el bucle For, Visual Basic:
1. Establece contador al mismo valor que iniciar.
2. Comprueba si contador es mayor que finalizar. Si lo es, Visual Basic sale del bucle.
(Si incremento es negativo, Visual Basic comprueba si contador es menor que finalizar.)
3. Ejecuta instrucciones.
4. Incrementa contador en 1 o en instrucciones, si se especific.
5. Repite los pasos 2 a 4.
Por ejemplo, este procedimiento pide 5 numeros y despus cuenta cuantos nmeros estn entre 050 y cuantos de 51-100 repitiendo el bucle 5 veces:
- 13 -
Controles
Controles bsicos:
Introduccin al uso de controles
Control TextBox (Cajas de texto)
Control Label (Etiquetas)
Antes de empezar a conocer los controles bsicos veamos cuales son sus caractersticas generales:
Propiedades:Todos los controles disponen de una serie de propiedades las cuales podemos
cambiar al incluirlos en nuestras aplicaciones. Ejemplos de propiedades son el color, el tipo de
letra, el nombre, el texto, etc.
Metodos: Son procedimientos asociados a los controles, es decir, rutinas ya establecidas que
podemos invocar desde nuestras aplicaciones para que se realice alguna operacin sobre el
control. Por ejemplo el control ListView ( la lista de archivos que aparece en el explorador de
windows) dispone del mtodo order que te ordena los datos aparecidos en la lista.
Eventos: Son acciones que pueden ser motivadas por el propio usuario o por mismo sistema
operativo. Ejemplos pueden ser el movimiento del ratn o hacer clic sobre su botn. En Visual
Basic digamos que se utiliza la programacin orientada a eventos, lo cual es una de las
diferencias ms importantes respecto a la programacin lineal de MS DOS. No necesitamos
detectar cuando se ha producido un evento determinado, Windows lo detecta automticamente.
Los eventos ya estn definidos, son bastantes y cada control cuenta con los suyos propios,
aunque son muy parecidos. Lo nico que tendremos que hacer es asociar el cdigo necesario al
evento que necesitemos tratar.
TextBox
Mediante este control podremos realizar tanto la entrada como la salida de datos en nuestras
aplicaciones.
No hace falta que indiquemos las coordenadas de la situacin del formulario en pantalla,
simplemente tendremos que marcar sobre el control de la caja de herramientas y dibujarlo con el
tamao que queramos en nuestro formulario.
PROPIEDADES
Las propiedades de las que dispone el control son las siguientes:(para obtener el cuadro de
propiedades, seleccionar el control y pulsar F4 o pulsar con el botn derecho para obtener el men
contextual y marcar Propierties)
Text: Aqu indicamos el texto que aparecer en el control. Podemos asignarle cualquier texto en
tiempo de diseo o ejecucin. Tambin podemos tomar el texto que haya introducido el usuario
para tratarlo durante la ejecucin.
Name: Esta propiedad la tienen todos los controles, el nombre que viene por defecto en este caso
Text1 y es el nombre con el que se conocer el control cuando lo utilicemos en el cdigo. En un
mismo formulario no puede haber 2 controles con el mismo nombre. Conviene poner un
nombre que represente la funcin que tiene el control en la aplicacin para que el cdigo quede
ms claro. Ejemplo, si en el textbox vamos a introducir la direccin de una persona podemos
asignarle a esta propiedad el valor Direccin.
MultiLine: Permite que introduzcamos varias lineas de texto en el control en lugar de slo una.
Alignment: Alineacin que tendr el texto dentro del control: izquierda, centro o derecha. Para que
funcione la propiedad MultiLine debe estar con el valor true.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 14 -
Locked: Si esta con valor true bloquea el control, es decir, el usuario no puede introducir ni modificar
el texto que contenga. Nos puede servir para utilizar el control como salida de datos sin que el
usuario pueda modificarlos por error.
Backcolor: color de fondo.
Forecolor: color de letra.
Font: tipo y tamao de letra.
METODOS
Recordemos que por mtodos se entienden los procedimientos o funciones asociados a un control,
los cuales nos permiten realizar ciertas operaciones tiles sobre dicho control: Ej. ordenar sus
elementos, buscar un dato, etc.
Pues bien, los controles bsicos que vamos a ver en este captulo nicamente contienen mtodos
avanzados que no vamos a analizar por ahora, ya que son mtodos que no se suelen utilizar. Si
alguien est interesado en conocer todas las caractersticas de los controles puede hacerlo mirando
en la ayuda que proporciona VB, haciendo clic sobre cualquier control de la caja de herramientas y
pulsando a continuacin F1 obtendr ayuda referente a ese control.
EVENTOS
Los eventos son acciones que se pueden realizar en cualquier control: click, doble click, movimiento
del ratn. A estos eventos se les puede asociar cdigo para que se ejecute al producir el evento.
MouseMove: al mover el ratn por encima del control.
Mousedown: al pulsar cualquier botn del ratn
Change: al cambiar el contenido del control
Click: al hacer clic con el botn izquierdo del ratn sobre el control
Doubleclick: al hacer doble clic con el botn izquierdo del ratn sobre el control
Getfocus: este evento se activa cuando el control recibe el enfoque, es decir, cuando se activa el
control en tiempo de ejecucin para introducir datos en l o realizar alguna operacin.
Lostfocus: Es el contrario del anterior evento, se activa cuando el control pierde el enfoque, es decir,
se pasa a otro control para seguir introduciendo datos.
EJEMPLO
Vamos a probar el uso del control TextBox mediante un pequeo ejemplo en el que teniendo un
nico control de este tipo en un formulario, lo programaremos de forma que al pasar el ratn sobre el
control (evento mousemove) aparecer en el formulario el texto que contenga.
Observamos que al situar el control en el formulario aparece por defecto el texto Text1. Para que no
aparezca ese texto al ejecutar la aplicacin, debemos cambiar la propiedad Text pulsando F4 y
colocar el texto que queramos o no colocar nada.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 15 -
Lo que queremos hacer es que cada vez que movamos el ratn por el control aparezca su contenido
en el formulario. Entonces lo que habr que hacer abrir la ventana de cdigo, seleccionando el
control y pulsando F7, o con el botn derecho del ratn y la opcin View code del men contextual.
Este proceso nos llevar al cuadro de la imagen siguiente.
Lo que tendremos que hacer es seleccionar el evento que necesitemos de la seccin Proc, en
nuestro caso mousemove y a continuacin teclear el cdigo correspondiente: La instruccin print
visualiza un texto en el formulario y si le ponemos text1.text le decimos que nos muestre la propiedad
Text del control Text1 que ese ser el nombre que tendr el control por defecto si no lo hemos
cambiado en la propiedad name.
Al ejecutar esta pequea aplicacin pulsando F5 observaremos como aparece en el formulario lo que
hayamos tecleado en el control cada vez que movemos el ratn sobre el Textbox.
Podemos modificar el programa para que responda a cualquier otro evento sin ms que seleccionarlo
en la seccin Proc e introduciendo el cdigo que sea necesario.
Label
Este control es tambin uno de los ms utilizados, aunque su utilidad queda restringida a la
visualizacin de datos en el mismo, no permitiendo la introduccin de datos por parte del usuario.
La forma de utilizarlo es similar a la del control anterior, dibujar el control en el formulario con el
tamao que queramos y asignarle un texto en tiempo de diseo o de ejecucin esta vez sin utilizar la
propiedad text puesto que no la incorpora, sino utilizando la propiedad caption.
Este control sirve para mostrar mensajes en nuestro formulario que orienten al usuario sobre la
utilidad de los dems controles que tengamos en la aplicacin o para indicarnos acciones que
podemos realizar. En el ejemplo anterior donde apareca un textbox en el formulario, hubiera
quedado mejor con un mensaje aclaratorio contenido en un control label:
PROPIEDADES
Caption: Es el texto que contendr el control.
Alignment: Alineacin del texto contenido en el control, no necesita que est activada ninguna otra
propiedad.
BorderStyle: Si queremos que aparezca un borde alrededor del control activaremos esta propiedad.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 16 -
Para este control no se suelen utilizar los eventos ya que su contenido suele cambiar poco a lo largo
de la ejecucin de la aplicacin. Los eventos son casi los mismos del control textbox excepto que no
dispone de los eventos GetFocus y LostFocus ya que a este control no se le puede dar el enfoque.
CommandButton
Este control es el tpico botn que aparece en todas las aplicaciones y que al hacer clic sobre l nos
permite realizar alguna operacin concreta, normalmente Aceptar o Cancelar. Aunque segn el
cdigo que le asociemos podremos realizar las operaciones que queramos.
En el ejemplo anterior podemos aadir un control de este tipo para salir de la aplicacin sin tener
pulsar sobre la equis de la esquina superior derecha.
Pero slo con introducir un control de este tipo con el texto salir que se introduce a travs de la
propiedad caption no basta. Habr que asociarle un cdigo que nos permita salir de la aplicacin en
el evento adecuado. Y el evento por excelencia de este control es clic. As pues accederemos al
cdigo del control y la sentencia nos permitir salir de la aplicacin es End, simplemente tecleamos
esa palabra en el evento click y comprobar que realmente finalizaremos nuestra aplicacin al pulsar
sobre dicho botn.
PROPIEDADES
Caption: Aqu ponemos el texto que queremos que aparezca en el botn: aceptar, cancelar, salir, etc.
Enabled: Esta es una nueva propiedad, cuando su valor es true el botn funciona normalmente,
cuando su valor es false el botn se encuentra desactivado, no responde a los eventos
producidos sobre l y el texto aparece en un gris claro advirtindonos de su estado. Podemos
utilizar esta propiedad para activar o desactivar un botn dependiendo del estado de otros
controles. Por ejemplo, en un botn Aceptar, no activarlo hasta que se haya introducido una
cantidad en un control textbox, ya que ese botn nos calcular el IVA de la cantidad.
EVENTOS
Click: Es el evento tpico de este control y el que ms se utiliza.
MouseMove: Como sabemos detecta el movimiento del ratn sobre el control. Puede servir para que
aparezca un mensaje en un control Label que nos aporte informacin sobre la utilidad del
control ampliando el texto que hayamos colocado como caption del commandbutton.
OptionButton
Este control nos permite elegir una opcin entre varias de las que se
nos plantean. Cada opcin ser un control optionbutton diferente.
Facilita la introduccin de datos por parte del usuario:
- 17 -
De todas las opciones que se nos ofrece, en este caso los 4 colores, slo podremos activar una. Si
activamos cualquier otra opcin, se desactivar automticamente la ltima que tenamos activada.
El marco que est alrededor de los 4 controles optionbutton se trata del control Frame
, es
opcional, aunque es conveniente colocarlo siempre que hagamos uso de las opciones. No slo por
motivos de presentacin sino porque de esta manera podremos establecer grupos de controles
optionbutton independientes en los que en cada grupo slo pueda haber una opcin activada a la vez.
Tambin, al mover el marco se movern los controles incluidos en l facilitndonos las
modificaciones.
Para que los controles Optionbutton queden englobados dentro de un control Frame, primero
tendremos que colocar el control Frame en el formulario con el tamao adecuado y despus ir
colocando los controles Optionbutton dentro del Frame.
Del control Frame la nica propiedad que nos interesar es caption, que es el texto que aparecer en
el encabezado, en el ejemplo anterior: colores.
PROPIEDADES
Caption: El texto que aparecer al lado del control: Rojo, verde, etc.
Value: Es el valor que tendr el control: True si se encuentra activado y False si no lo est. Para
comprobar que opcin ha activado el usuario comprobaremos el estado de esta propiedad.
Alignment: Alineacin del texto respecto al control: Left Justify: el control aparece a la izquierda del
texto. Es el ejemplo anterior.Right Justify: el control aparece a la derecha del texto.
Los eventos del control son los mismos que en anteriores controles, aunque no se suele asociar
cdigo a los eventos de este tipo de controles, sino nicamente conocer el valor que tienen: true o
false.
- 18 -
Formularios
Los formularios tienen sus propios eventos, propiedades y mtodos con los que se puede controlar su
apariencia y comportamiento.
El primer paso para disear un formulario consiste en establecer sus propiedades. Puede establecer
las propiedades de un formulario en tiempo de diseo en la ventana Propiedades o en tiempo de
ejecucin, escribiendo cdigo.
Nota En tiempo de diseo, que es cualquier momento mientras est desarrollando una aplicacin en
el entorno de Visual Basic, se trabaja con formularios y controles, se establecen propiedades y se
escribe cdigo para los eventos. Tiempo de ejecucin es cualquier momento mientras se ejecuta
realmente la aplicacin y s interacta con ella como lo hara un usuario.
Estableciendo las Propiedades ms importantes de los formularios.
Muchas propiedades de un formulario afectan a su apariencia fsica. La propiedad Caption determina
el texto que muestra la barra de ttulo del formulario y la propiedad Icon establece el icono que
aparece cuando se minimiza un formulario. Las propiedades MaxButton y MinButton determinan si
el formulario se puede maximizar o minimizar. Cambiando la propiedad BorderStyle puede controlar
el comportamiento de cambio de tamao del formulario.
Las propiedades Height y Width determinan el tamao inicial de un formulario, mientras que las
propiedades Left y Top determinan la ubicacin del formulario en relacin con la esquina superior
izquierda de la pantalla. Con la propiedad WindowState puede establecer si el formulario se inicia en
estado maximizado, minimizado o normal.
La propiedad Name establece el nombre con el que har referencia al formulario en el cdigo. De
forma predeterminada, cuando se agrega un formulario por primera vez a un proyecto, su nombre es
Form1, Form2, etc. Es conveniente establecer la propiedad Name a algo ms significativo, como
frmEntry para un formulario de entrada de pedidos.
La mejor manera de familiarizarse con las numerosas propiedades de los formularios es
experimentar. Cambie algunas propiedades de un formulario en la ventana Propiedades y ejecute la
aplicacin para ver su efecto. Puede aprender ms sobre cada propiedad si la selecciona y presiona
F1 para ver Ayuda contextual.
Eventos y Mtodos de los formularios.
Como objetos que son, los formularios pueden ejecutar mtodos y responder a eventos.
El evento Resize de un formulario se desencadena siempre que se cambia el tamao de un
formulario, ya sea por una accin del usuario o a travs del cdigo. Esto permite realizar acciones
como mover o cambiar el tamao de los controles de un formulario cuando han cambiado sus
dimensiones.
El evento Activate se produce siempre que un formulario se convierte en el formulario activo; el
evento Deactivate se produce cuando otro formulario u otra aplicacin se convierte en activo. Estos
eventos son adecuados para iniciar o finalizar acciones del formulario. Por ejemplo, en el evento
Activate podra escribir cdigo para resaltar el texto de un determinado cuadro de texto; con el evento
Deactivate podra guardar los cambios efectuados en un archivo o en una base de datos.
Para hacer visible un formulario se invoca el mtodo Show:
Form2.Show
Para descargar un formulario (cerrarlo), se invoca al mtodo Unload:
Form2.Unload
Unload Me
Me significa el Formulario activo.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 19 -
Para ocultar un formulario (pero dejarlo activo en memoria) se invoca al mtodo Hide:
Form2.Hide
Invocar el mtodo Show tiene el mismo efecto que establecer a True la propiedad Visible del
formulario.
Muchos mtodos de un formulario implican texto o grficos. Los mtodos Print, Line, Circle y
Refresh son tiles para imprimir o dibujar directamente en la superficie de un formulario.
Establecer el formulario de arranque de la aplicacin.
De forma predeterminada, el primer formulario de la aplicacin es el formulario inicial. Cuando la
aplicacin inicia la ejecucin, se presenta este formulario (el primer cdigo que se ejecuta es el del
evento Form_Initialize de dicho formulario). Si quiere presentar un formulario diferente cuando se
inicie la aplicacin, debe cambiar el formulario inicial.
Para cambiar el formulario inicial
1. En el men Proyecto, elija Propiedades del proyecto.
2. Elija la ficha General.
3. En el cuadro de lista Objeto inicial, seleccione el formulario que desee que sea el nuevo
formulario inicial.
4. Elija Aceptar.
Inicio sin formulario inicial
Algunas veces puede desear que la aplicacin se inicie sin cargar ningn formulario. Por ejemplo,
puede que desee ejecutar cdigo que cargue un archivo de datos y despus presentar uno de entre
varios formularios, segn el contenido de dicho archivo. Puede hacerlo creando un procedimiento
Sub llamado Main en un mdulo estndar, como en el siguiente ejemplo:
Sub Main()
Dim intStatus As Integer
' Llamar a un procedimiento de funcin para comprobar el estado
' del usuario.
intStatus = GetUserStatus
' Mostrar un formulario inicial distinto segn el estado.
If intStatus = 1 Then
frmMain.Show
Else
frmPassword.Show
End If
Este procedimiento tiene que ser un procedimiento Sub y no puede estar en un mdulo de formulario.
Para establecer el procedimiento Sub Main como objeto inicial, en el men Proyecto elija
Propiedades del proyecto, seleccione la ficha General y seleccione Sub Main en el cuadro Objeto
inicial.
- 20 -
Asc
Devuelve un tipo Integer que representa el cdigo de carcter correspondiente a la primera letra de
una cadena.
Sintaxis: Asc(cadena)
El argumento obligatorio cadena es una expresin de cadena vlida. Si cadena no contiene
caracteres, se produce un error en tiempo de ejecucin.
Ejemplo de la funcin Asc
En este ejemplo se utiliza la funcin Asc para devolver el cdigo de carcter correspondiente a la
primera letra de una cadena de caracteres.
Dim MiNmero
MiNmero = Asc("A")
' Devuelve 65.
MiNmero = Asc("a")
' Devuelve 97.
MiNmero = Asc("Apple")
' Devuelve 65.
e Date
Devuelve un tipo Variant (Date) que contiene la fecha actual del sistema.
Sintaxis: Date
Comentarios
Utilice la instruccin Date para establecer la fecha del sistema.
Ejemplo de la funcin Date
En este ejemplo se utiliza la funcin Date para asignar a una variable la fecha actual y mostrar la
fecha posteriormente.
Dim hoy as date
Text1.text = date
e Format
Devuelve un tipo Variant (String) que contiene una expresin formateada de acuerdo a las
instrucciones contenidas en una expresin de formato.
Sintaxis: Format(expresin[, formato[, primerdadesemana[, primerdadeao]]])
La sintaxis de la funcin Format consta de las siguientes partes:
Parte
Descripcin
Expresin
Obligatorio. Cualquier expresin vlida.
Formato
Opcional. Una expresin de formato definida por el usuario o con nombre vlido.
Primerdiasemana Opcional. Una constante que especifica el primer da de la semana.
Primerdiadeao
Opcional. Una constante que especifica la primera semana del ao.
Valores
El argumento primerdadesemana tiene estos valores:
Constante
Valor Descripcin
Constante
Valor Descripcin
Utiliza el valor de API NLS.
Mircoles
VbUseSystem 0
VbWednesday 4
1
Domingo (predeterminado)
5
Jueves
VbSunday
VbThursday
2
Lunes
6
Viernes
VbMonday
VbFriday
3
Martes
7
Sbado
VbTuesday
vbSaturday
El argumento primerdadeao tiene estos valores:
Constante
Valor Descripcin
Utiliza el valor de API NLS.
VbUseSystem
0
Comienza con la semana donde est el 1 de enero
VbFirstJan1
1
(predeterminado).
Comienza con la primera semana del ao que tenga
VbFirstFourDays
2
cuatro das como mnimo.
Comienza con la primera semana completa del ao.
VbFirstFullWeek
3
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 21 -
e InputBox
Muestra un mensaje en un cuadro de dilogo, espera que el usuario escriba un texto o haga clic en
un botn y devuelve un tipo String con el contenido del cuadro de texto.
Sintaxis: InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])
La sintaxis de la funcin InputBox consta de estos argumentos con nombre:
- Prompt: Requerido. Expresin de cadena que se muestra como mensaje en el cuadro de dilogo.
La longitud mxima de prompt es de aproximadamente 1024 caracteres, segn el ancho de los
caracteres utilizados. Si prompt consta de ms de una lnea, puede separarlos utilizando un
carcter de retorno de carro (Chr(13)), un carcter de avance de lnea (Chr(10)) o una combinacin
de los caracteres de retorno de carro-avance de lnea (Chr(13) y Chr(10)) entre cada lnea y la
siguiente.
- title: Opcional. Expresin de cadena que se muestra en la barra de ttulo del cuadro de dilogo. Si
omite title, en la barra de ttulo se coloca el nombre de la aplicacin.
- default: Opcional. Expresin de cadena que se muestra en el cuadro de texto como respuesta
predeterminada cuando no se suministra una cadena. Si omite default, se muestra el cuadro de
texto vaco.
- xpos: Opcional. Expresin numrica que especifica, en twips, la distancia en sentido horizontal
entre el borde izquierdo del cuadro de dilogo y el borde izquierdo de la pantalla. Si se omite xpos,
el cuadro de dilogo se centra horizontalmente.
- ypos: Opcional. Expresin numrica que especifica, en twips, la distancia en sentido vertical entre el
borde superior del cuadro de dilogo y el borde superior de la pantalla. Si se omite ypos, el cuadro
de dilogo se coloca a aproximadamente un tercio de la altura de la pantalla, desde el borde
superior de la misma.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 22 -
- helpfile: Opcional. Expresin de cadena que identifica el archivo de Ayuda que se utilizar para
proporcionar ayuda interactiva para el cuadro de dilogo. Si se especifica helpfile, tambin deber
especificarse context.
- Context: Opcional. Expresin numrica que es el nmero de contexto de Ayuda asignado por el
autor al tema de Ayuda correspondiente. Si se especifica context, tambin deber especificarse
helpfile.
Ejemplo de la funcin InputBox
En este ejemplo se muestran distintas maneras de utilizar la funcin InputBox para indicar al usuario
que debe introducir un valor. Si se omiten las posiciones x e y, el dilogo se centra automticamente
segn los ejes respectivos. La variable MyValue contiene el valor introducido por el usuario, si ste
elige Aceptar o presiona ENTRAR. Si el usuario elige Cancelar, se devuelve una cadena de
caracteres de longitud cero.
Dim Mensaje, Ttulo, ValorPred, MiValor
Mensaje = " Introduzca un nmero del 1 a 3"
' Establece el mensaje.
Ttulo = "Demostracin de InputBox"
' Establece el ttulo.
ValorPred = "1"
' Establece el valor predeterminado.
' Muestra el mensaje, el ttulo, y el valor predeterminado.
MiValor = InputBox(Mensaje, Ttulo, ValorPred)
' Muestra el mensaje, el ttulo y el valor predeterminado.
MiValor = InputBox(Mensaje, Ttulo, , , , "DEMO.HLP", 10)
' Se muestra el dilogo en la posicin 100, 100.
MiValor = InputBox(Mensaje, Ttulo, ValorPred, 100, 100)
e IsDate
Devuelve un valor de tipo Boolean que indica si una expresin se puede convertir en una fecha.
Sintaxis: IsDate(expresin)
El argumento expresin requerido, es un tipo de datos Variant que contiene una expresin de fecha o
una expresin de cadena reconocible como una fecha o una hora.
Ejemplo de la funcin IsDate
En este ejemplo se utiliza la funcin IsDate para determinar si una expresin puede convertirse en
fecha.
Dim MiFecha, TuFecha, SinFecha, MiPrueba
MiFecha = "12 febrero 1969": TuFecha = #2/12/69#: SinFecha = "Hola"
MiPrueba = IsDate(MiFecha)
' Devuelve True.
MiPrueba = IsDate(TuFecha)
' Devuelve True.
MiPrueba = IsDate(SinFecha)
' Devuelve False.
e Left
Devuelve un tipo Variant (String) que contiene un nmero especificado de caracteres del lado
izquierdo de una cadena.
Sintaxis: Left(string, length)
La sintaxis de la funcin Left tiene estos argumentos con nombre:
string Obligatorio. Expresin de cadena de la cual se devuelven los caracteres que estn ms a la
izquierda. Si string contiene Null, se devuelve Null.
length Se requiere, un tipo Variant (Long). Expresin numrica que indica cuntos caracteres se van
a devolver. Si es 0, devuelve una cadena de longitud cero (""). Si es mayor o igual al nmero de
caracteres en string, se devuelve la cadena entera.
- 23 -
Len
Devuelve un tipo Long que contiene el nmero de caracteres en una cadena o el nmero de bytes
necesarios para almacenar una variable.
Sintaxis: Len(cadena | nombrevar)
La sintaxis de la funcin Len consta de las siguientes partes:
Cadena,Cualquier expresin de cadena vlida. Si cadena contiene Null, se devuelve Null.
Nombrevar, cualquier nombre de variable vlido. Si nombrevar contiene Null, se devuelve Null. Si
nombrevar es un tipo Variant, Len acta igual que con un tipo String y siempre devuelve
el nmero de caracteres que contiene.
Ejemplo de la funcin Len
En este ejemplo se utiliza la funcin Len para devolver el nmero de caracteres en una cadena o el
nmero de bytes requeridos para almacenar una variable.
Dim MiEntero As Integer, MyCur As Currency
Dim MiCadena, MiLong
MiCadena = "Hola a todos"
' Inicializa la cadenas.
MiLong = Len(MiEntero)
' Devuelve 2.
MiLong = Len(MiCadena)
' Devuelve 11.
MiLong = Len(MyCur)
' Devuelve 8.
LoadPicture
Carga un grfico en un control PictureBox o un control Image.
Sintaxis: LoadPicture([expresin_cadena])
El marcador de posicin expresin_cadena es el nombre del archivo grfico que se quiere cargar.
Comentarios
Los formatos grficos reconocidos por Visual Basic incluyen archivos de mapas de bits (.BMP),
archivos de iconos (.ICO), archivos de longitud codificada (.RLE), metarchivos (.WMF), metarchivos
mejorados (.EMF), archivos GIF y archivos JPEG (.JPG).
Para cargar grficos para presentarlos en un control PictureBox, en un control Image o como fondo
de un formulario, el valor devuelto por LoadPicture debe asignarse a la propiedad Picture del objeto
en el que se quiere presentar la imagen. Por ejemplo:
Image1.Picture = LoadPicture("FIESTA.BMP")
Para asignar un icono a un formulario, establezca el valor devuelto por la funcin LoadPicture a la
propiedad Icon del objeto Form:
Set Form1.Icon = LoadPicture("MIICONO.ICO")
Ejemplo de la funcin LoadPicture
Este ejemplo usa la funcin LoadPicture para cargar una imagen en la propiedad Picture de un
formulario y para borrar la imagen del objeto Form. Para probar este ejemplo, pegue el cdigo en la
seccin Declaraciones de un objeto Form y despus ejecute el ejemplo y haga clic en el objeto Form.
Private Sub Form_Click ()
Dim Msg as String
' Declara variables.
On Error Resume Next
' Establece el tratamiento de errores.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 24 -
Height = 3990
Width = 4890
' Define el alto y el ancho.
Set Picture = LoadPicture("PAPEL.BMP") ' Carga un mapa de bits.
If Err Then
Msg = "Imposible encontrar el archivo .BMP."
MsgBox Msg ' Presenta el mensaje de error.
Exit Sub
' Sale si hay error.
End If
Msg = "Elija "Aceptar" para borrar el mapa de bits del formulario."
MsgBox Msg
Set Picture = LoadPicture() ' Limpia el formulario.
End Sub
Mid
Devuelve un tipo Variant (String) que contiene un nmero especificado de caracteres de una
cadena.
Sintaxis: Mid(string, start[, length])
La sintaxis de la funcin Mid tiene estos argumentos con nombre:
string Obligatorio. Expresin de cadena de la cual se devuelven los caracteres. Si string contiene
Null, se devuelve Null.
start Obligatorio; un tipo Long. Posicin de carcter en string en la cual comienza la parte que se
quiere tomar. Si start es mayor que el nmero de caracteres en la string, Mid devuelve una cadena
de longitud cero ("").
length Opcional, un tipo Variant (Long). Nmero de caracteres que se van a devolver. Si se omite o
en el texto hay menos de length caracteres (incluyendo el carcter de start), se devuelven todos los
caracteres desde la posicin de start hasta el final de la cadena.
Ejemplo de la funcin Mid
En este ejemplo se utiliza la funcin Mid para devolver un nmero especificado de caracteres de una
cadena.
Dim MiCadena, PrimeraPalabra, UltimaPalabra, PalabraMedia
MiCadena = "Demostracin funcin Mid" ' Crea la cadena de texto.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 25 -
MsgBox
Muestra un mensaje en un cuadro de dilogo, espera a que el usuario haga clic en un botn y
devuelve un tipo Integer correspondiente al botn elegido por el usuario.
Sintaxis: MsgBox(prompt[, buttons][, title][, helpfile, context])
La sintaxis de la funcin MsgBox consta de estos argumentos con nombre:
- prompt: Requerido. Expresin de cadena que representa el prompt en el cuadro de dilogo. La
longitud mxima de prompt es de aproximadamente 1024 caracteres, segn el ancho de los
caracteres utilizados. Si prompt consta de ms de una lnea, puede separarlos utilizando un
carcter de retorno de carro (Chr(13)) o un carcter de avance de lnea (Chr(10)), o una
combinacin de caracteres de retorno de carro-avance de lnea (Chr(13) y Chr(10)) entre cada lnea
y la siguiente.
- buttons: Opcional. Expresin numrica que corresponde a la suma de los valores que especifican
el nmero y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la
identidad del botn predeterminado y la modalidad del cuadro de mensajes. Si se omite este
argumento, el valor predeterminado para buttons es 0.
- title: Opcional. Expresin de cadena que se muestra en la barra de ttulo del cuadro de dilogo. Si
se omite title, en la barra de ttulo se coloca el nombre de la aplicacin.
- helpfile: Opcional. Expresin de cadena que identifica el archivo de Ayuda que se utiliza para
proporcionar ayuda interactiva en el cuadro de dilogo. Si se especifica helpfile, tambin se debe
especificar context.
-context: Opcional. Expresin numrica que es igual al nmero de contexto de Ayuda asignado por el
autor al tema de Ayuda correspondiente. Si se especifica context, tambin se debe especificar
helpfile.
Valores
El argumento buttons tiene estos valores:
Constante
Valor Descripcin
0
Muestra solamente el botn Aceptar.
VbOKOnly
VbOKCancel
1
Muestra los botones Aceptar y Cancelar.
Muestra los botones Anular, Reintentar e Ignorar.
VbAbortRetryIgnore 2
3
Muestra los botones S, No y Cancelar.
VbYesNoCancel
4
Muestra los botones S y No.
VbYesNo
5
Muestra los botones Reintentar y Cancelar.
VbRetryCancel
16
Muestra el icono de mensaje crtico.
VbCritical
32
Muestra el icono de pregunta de advertencia.
VbQuestion
48
Muestra el icono de mensaje de advertencia.
VbExclamation
64
Muestra el icono de mensaje de informacin.
VbInformation
0
El primer botn es el predeterminado.
VbDefaultButton1
256
El segundo botn es el predeterminado.
VbDefaultButton2
512
El tercer botn es el predeterminado.
VbDefaultButton3
768
El cuarto botn es el predeterminado.
VbDefaultButton4
Aplicacin modal; el usuario debe responder al cuadro de mensajes
VbApplicationModal
antes de poder seguir trabajando en la aplicacin actual.
4096 Sistema modal; se suspenden todas las aplicaciones hasta que el
VbSystemModal
usuario responda al cuadro de mensajes.
El primer grupo de valores (0 a 5) describe el nmero y el tipo de los botones mostrados en el cuadro
de dilogo; el segundo grupo (16, 32, 48, 64) describe el estilo del icono, el tercer grupo (0, 256, 512)
determina el botn predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 26 -
mensajes. Cuando se suman nmeros para obtener el valor final del argumento buttons, se utiliza
solamente un nmero de cada grupo.
Nota Estas constantes las especifica Visual Basic for Applications. Por tanto, el nombre de las
mismas puede utilizarse en cualquier lugar del cdigo en vez de sus valores reales.
Valores devueltos:
Constante
Valor Descripcin
Constante
Valor Descripcin
1
5
vbOK
Aceptar
vbIgnore
Ignorar
2
6
VbCancel
Cancelar
VbYes
S
3
7
VbAbort
Anular
VbNo
No
4
VbRetry
Reintentar
Ejemplo de la funcin MsgBox
En este ejemplo se utiliza la funcin MsgBox para mostrar un mensaje de error crtico en un cuadro
de dilogo con botones S y No. El botn No se considera la respuesta predeterminada. El valor
devuelto por la funcin MsgBox depende del botn elegido por el usuario. En este ejemplo, se
supone que DEMO.HLP es un archivo de Ayuda que contiene un tema con un nmero de contexto
igual a 1000.
Dim Mensaje, Estilo, Ttulo, Ayuda, Ctxt, Respuesta, MiCadena
Mensaje = "Desea continuar?"
' Define el mensaje.
Estilo = vbYesNo + vbCritical + vbDefaultButton2 ' Define los botones.
Ttulo = "Demostracin de MsgBox"
' Define el ttulo.
Ayuda = "DEMO.HLP"
' Define el archivo de ayuda.
Ctxt = 1000
' Define el tema
Respuesta = MsgBox(Mensaje, Estilo, Ttulo, Ayuda, Ctxt)
If Respuesta = vbYes Then
' El usuario eligi el botn S.
MiCadena = "S"
' Ejecuta una accin.
Else
' El usuario eligi el botn No.
MiCadena = "No"
' Ejecuta una accin.
End If
Right
Devuelve un tipo Variant (String) que contiene un nmero especificado de caracteres del lado
derecho de una cadena.
Sintaxis: Right(string, lenght)
La sintaxis de la funcin Right tiene estos argumentos con nombre:
String Obligatorio. Expresin de cadena desde la cual se devuelven los caracteres que estn ms a
la derecha. Si string contiene Null, se devuelve Null.
Lenght se requiere, un tipo Variant (Long). Expresin numrica que indica cuntos caracteres se
van a devolver. Si es 0, se devuelve una cadena de longitud cero (""). Si es mayor o igual al nmero
de caracteres en string, se devuelve la cadena completa.
Ejemplo de la funcin Right
En este ejemplo se utiliza la funcin Right para devolver un nmero especificado de caracteres de la
parte derecha de la cadena.
Dim UnaCadena, MiCadena
UnaCadena = "Hola Mundo"
' Define una cadena.
MiCadena = Right(UnaCadena, 1) ' Devuelve "o".
MiCadena = Right(UnaCadena, 6) ' Devuelve "Mundo".
MiCadena = Right(UnaCadena, 20) ' ' Devuelve "Hola Mundo".
- 27 -
Str
Devuelve en un tipo Variant (String) la representacin de cadena de un nmero.
Sintaxis: Str(nmero)
El argumento nmero necesario es un tipo Long que contiene una expresin numrica vlida.
Comentarios
Cuando los nmeros se convierten a cadenas, siempre se reserva un espacio a la izquierda para el
signo del nmero. Si nmero es positivo, la cadena devuelta contiene un espacio a la izquierda y el
signo ms se da por supuesto.
Utilice la funcin Format para convertir valores numricos en valores con formato de fecha, hora,
moneda o en otros formatos definidos por el usuario. A diferencia de Str, la funcin Format no incluye
un espacio a la izquierda para el signo del nmero.
Nota La funcin Str slo reconoce el punto (.) como separador decimal vlido.
Ejemplo de la funcin Str
En este ejemplo se utiliza Str para devolver una representacin de cadena de un nmero. Cuando un
nmero se convierte en una cadena siempre se reserva un espacio a la izquierda para el signo.
Dim MiCadena
MiCadena = Str(459)
' Devuelve " 459".
MiCadena = Str(-459.65)
' Devuelve "-459,65".
MiCadena = Str(459.001)
' Devuelve " 459,001".
Ucase
Devuelve un tipo Variant (String) que contiene una cadena especificada que se ha convertido a
maysculas.
Sintaxis: UCase(cadena)
El argumento cadena necesario es cualquier expresin de cadena vlida. Si string contiene Null, se
devuelve Null.
Ejemplo de la funcin UCase
En este ejemplo se utiliza la funcin UCase para devolver la versin en maysculas de una cadena.
Dim LowerCase, UpperCase
LowerCase = "Hola Mundo 1234"
' Cadena a convertir.
UpperCase = UCase(LowerCase)
' Devuelve "HOLA MUNDO 1234".
Val
Devuelve los nmeros contenidos en una cadena como un valor numrico del tipo adecuado.
Sintaxis: Val(cadena)
El argumento obligatorio cadena es cualquier expresin de cadena vlida.
Ejemplo de la funcin Val
En este ejemplo se utiliza la funcin Val para devolver los nmeros contenidos en una cadena.
Dim MiValor
MiValor = Val("2457")
' Devuelve 2457.
MiValor = Val(" 2 45 7")
' Devuelve 2457.
MiValor = Val("24 y 57")
' Devuelve 24.
- 28 -
- 29 -
- 30 -
Establecimiento De Propiedades
Para adjuntar una base de datos y un conjunto de registros a un control de datos, hay que establecer
las propiedades del control. Las dos nicas propiedades obligatorias son DatabaseName y
RecordSource. Cuando la base de datos es de Access, las especificaciones son mnimas. El
establecimiento de las dos propiedades citadas define la informacin a situar en el control de datos y
genera una dynaset con acceso predeterminado no exclusivo y lectura y escritura. Para el conjunto
de registros no es dynaset, es preciso tambin establecer la propiedad Recordset.
NOTA: La propiedad DatabaseName no es la misma que Name. La propiedad Name especifica el
nombre del objeto control de datos y se utiliza para dar referencia al objeto del cdigo. La propiedad
DatabaseName especifica el nombre del archivo de base de datos al que accede el control de datos.
1) Propiedad Databasename
Para bases de datos de Access, la propiedad DatabaseName es el nombre del archivo de base de
datos, incluyendo el nombre completo de la ruta de acceso. El nombre se inserta seleccionando la
propiedad DatabaseName en el cuadro de dilogo Propiedades y teclendolo o eligindolo en la
lista.
Para seleccionar el nombre de la base de datos en el cuadro de dilogo, basta hacer clic en el
botn puntos suspensivos (...) a la derecha de la lnea de entrada de la propiedad. Esta accin
muestra el cuadro de dilogo DatabaseName, en el que se elegir el nombre del archivo, que
luego aparecer en la propiedad DatabaseName del control de datos. Cuando la base de datos
resulta ser diferente de Access, la propiedad DatabaseName requiere valores diferentes, tales
como el nombre de la ruta para el subdirectorio de datos.
2) Propiedad Recordsource
Despus de disear la base de datos, es preciso especificar la informacin que se desea obtener
con la propiedad RecordSource. Si se trata de una sola tabla, es posible teclear el nombre o
seleccionarlo de la lista de tablas.
Es posible acceder solamente a la informacin seleccionada en una tabla o utilizar informacin de
mltiples tablas empleando una instruccin de SQL. Para definir el conjunto de registros utilizando
una instruccin de SQL, hay que establecer la propiedad RecordSource para el nombre de una
QueryDef (que contiene la instruccin de SQL) de la base de datos o insertar una instruccin de
SQL vlida que genere una dynaset (tambin es posible incluir funciones en la instruccin de
SQL). Si se emplea una QueryDef, ha de estar previamente definida y almacenada en la base de
datos. Si se utiliza el control de datos para trabajar con una base de datos que no sea de Access,
es preciso establecer la propiedad RecordSource para el nombre de la tabla o instruccin SQL
para esa base de datos.
3) Propiedad Recordsettype
El tipo predeterminado de conjunto de registros (recordset) para un control de datos es una
dynaset. Si se precisa generar una snapshot o acceder directamente a la tabla, es necesario
cambiar la configuracin de la propiedad RecordsetType. Para ello, hay que seleccionar el tipo
deseado en una lista desplegable del cuadro de dilogo Propiedades.
4) Propiedades Bof y Eof
Las propiedades de accin indican al control de datos lo que tiene que hacer cuando llegue a
principio de archivo (BOF) o al final de archivo (EOF).
Para la propiedad BOF existen dos opciones:
Ejecutar el mtodo MoveFirst para fijar el puntero al primer registro y el indicador de principio de
archivo (BOF) a Falso (valor de la propiedad 0).
Fijar el indicador de principio de archivo a Verdadero (valor de la propiedad 1).
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 31 -
- 32 -
- 33 -
- 34 -
- 35 -
' Botn que permite avanzar a otros registros que coincidan el mismo criterio de bsqueda
Private Sub Command6_Click()
Data.Recordset.FindNext Criterio
If Data1.Recordset.Nomatch Then
Activa Procedim. que activa los botones y desactiva el Botn avanzar
Data1.Recordset.MovePrevious
End if
If Data1.Recordset ! Ciudad <> MORELIA Then
Activa Procedim. que activa los botones y desactiva el Botn avanzar
Data1.Recordset.MovePrevious
End if
End Sub
' Hallar el ltimo registro que cumpla la condicin
Desactiva Procedim. que desactiva los botones y solo deja activo un Botn para retroceder a otros registros
Data1.FindLast Criterio
' Botn que permite retroceder a otros registros que coincidan el mismo criterio de bsqueda
Private Sub Command7_Click()
Data.Recordset.FindPrevious Criterio
If Data1.Recordset.Nomatch Then
Activa Procedim. que activa los botones y desactiva el Botn retroceder
Data1.Recordset.MovePrevious
End if
If Data1.Recordset ! Ciudad <> MORELIA Then
Activa Procedim. que activa los botones y desactiva el Botn retroceder
Data1.Recordset.MovePrevious
End if
End Sub
El mtodo Find funciona explorando cada registro, empezando por el actual, para localizar el
adecuado que coincida con los criterios especificados. Segn el tamao del conjunto de registros y
esos criterios, esta operacin puede ser algo lenta. Las bsquedas pueden optimizarse por medio del
motor Jet, si hay un ndica disponible para cada campo de bsqueda. Si se han de realizar muchas
bsquedas, vale la pena generar un ndice para el campo de la tabla base.
Empleo del Mtodo Seek
El mtodo Seek (buscar) es la forma ms rpida de localizar un registro individual en una tabla (sin
embargo, tambin es el ms limitado de los mtodos).
Sus limitaciones son las siguientes:
/ Solamente se puede llevar a cabo en una tabla; no puede emplearse con una dynaset o una
snapshot.
/ Solamente puede usarse con un ndice activo. Los parmetros del mtodo Seek deben coincidir
con los campos del ndice en uso.
/ Un Seek busca solamente el primer registro que coincida con el valor del ndice especificado. Los
usos posteriores no encuentran registros adicionales que coincidan.
Un mtodo Seek consiste en el mtodo de llamada, el operador de comparacin y los valores de los
campos clave. El operador de comparacin puede ser <, <=, =, >=, > <>. Los valores claves a
comparar deben ser del mismo tipo de datos que el campo del ndice. Es imprescindible incluir un
valor clave para cada campo que se quiera buscar. Estos valores deben aparecer en el mismo orden
que los campos en el ndice y estar separados por comas, como se puede ver a continuacin.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 36 -
Uso del Metodo Seek para Buscar un Registro Especifico de una Tabla
' Especificar los criterios de bsqueda para los mtodos Seek
desactiva
Procedim. que desactiva los botones y solo deja activo un Botn para avanzar a otros registros
cd = MORELIA
' Establece la propiedad ndice para la tabla
Data1.Recordset.Index = Ciudad
' Mueve el puntero al primer registro de la base de datos
Data1.Recordset.MoveFirst
' Ejecuta la bsqueda con la condicin deseada
Data1.Recordset.Seek =, cd
Muestra la informacin o el mensaje "No se encuentra"
If Data1.Recordset.Nomatch Then
MsgBox(Dato no se encuentra)
Activa
Procedim. que activa los botones y desactiva el Botn siguiente
Data1.Recordset.MoveLast
End if
' Botn que permite avanzar a otros registros que coincidan el mismo criterio de busqueda
Private Sub Command6_Click()
Data.Recordset.MoveNext
If Data1.Recordset.Nomatch Then
Activa Procedim. que activa los botones y desactiva el Botn avanzar
Data1.Recordset.MovePrevious
End if
If Data1.Recordset!Ciudad <> cd Then
Activa Procedim. que activa los botones y desactiva el Botn avanzar
Data1.Recordset.MovePrevious
End if
End Sub
Es preciso planificar con atencin el comportamiento del mtodo Seek. Cuando este mtodo emplea
los operadores de comparacin =, >=, > <>, empieza por el primer registro para el ndice en uso y
explora hacia delante por todo el ndice, para hallar la primera coincidencia. Si el operador es < <=,
empieza con el ltimo registro de la tabla y explora hacia atrs por toda la tabla. Si el ndice tiene
valores nicos para cada registro, esto no presenta problema alguno. Pero, si hay valores de ndice
duplicados para los campos clave especificados, el registro hallado depende del operador de
comparacin y del criterio de ordenacin del ndice. Por ejemplo:
Operador de comparacin Orden indexado Registro resultante
>=Guerra, A
Ascendente
Guerra, Alberto
<=Guerra, Z
Ascendente
Guerra, Mara
>= Guerra, A
Descendente
Hernndez, Carlos
<= Guerra, Z
Descendente
Guerra, Teresa
Hay que prestar atencin cuando se utilicen operadores > o < en un ndice descendente. El operador
es interpretado como que hay que hallar el registro que se produzca despus del valor clave
especificado. Por esta razn, la bsqueda >="Guerra" en un ndice descendente devuelve
Hernndez, Carlos. Con el operador < sucede lo mismo.
Es importante usar tanto el orden como los operadores con mucho cuidado con el mtodo Seek,
para estar seguros de obtener los resultados deseados.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 37 -
Flecha a la derecha, pasa el men seleccionado a un nivel inferior cada vez que hace clic en el
botn. Puede crear hasta cuatro niveles de submens.
Flecha a la izquierda, pasa el men seleccionado a un nivel superior cada vez que hace clic en el
botn. Puede crear hasta cuatro niveles de submens.
Flecha arriba, cada vez que se hace clic en este botn, el elemento seleccionado del men se
mueve hacia arriba una posicin dentro del mismo nivel de men.
Flecha abajo, cada vez que se hace clic en este botn, el elemento seleccionado del men se
mueve hacia abajo una posicin dentro del mismo nivel de men.
Siguiente, selecciona la opcin siguiente que contendr el men.
Insertar, inserta una lnea en el cuadro de lista, inmediatamente encima de la lnea actualmente
seleccionada.
Eliminar, elimina Borra la lnea actualmente seleccionada.
Aceptar, cierra el Editor de mens y aplica todos los cambios efectuados en el ltimo formulario
seleccionado. El men est disponible en tiempo de diseo, pero si selecciona un men en la fase
de diseo, se abre la ventana Cdigo para el evento Clic de ese men en lugar de ejecutarse el
cdigo del evento.
Cancelar, cierra el Editor de mens y cancela todos los cambios.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 38 -
- 39 -
grupos lgicos. Por ejemplo, el men Ayuda de Visual Basic usa barras separadoras para dividir sus
elementos de men en tres grupos, como se muestra en la figura.
Para crear una barra separadora con el Editor de mens
1. Si va a agregar una barra separadora a un men existente, elija Insertar para insertar un control
de mens entre los elementos de men que desee separar.
2. Si es necesario, haga clic en el botn de flecha a la derecha para sangrar el nuevo elemento de
men al mismo nivel que los elementos de men que vaya a separar.
3. Escriba un guin (-) en el cuadro de texto Caption.
4. Establezca la propiedad Name.
5. Elija Aceptar para cerrar el Editor de mens.
Nota Aunque las barras separadoras se crean como controles de mens, no responden al evento
Click y los usuarios no pueden seleccionarlas.
Asignacin de teclas de acceso y de mtodo abreviado.
Puede mejorar el acceso por teclado a los comandos de los mens si define teclas de acceso y de
mtodo abreviado.
Las teclas de acceso permiten al usuario abrir un men presionando la tecla ALT y escribiendo una
letra designada. Una vez abierto el men, el usuario puede elegir un control si presiona la letra (tecla
de acceso) asignada al mismo. Por ejemplo, ALT+E podra abrir el men Edicin y P podra
seleccionar el elemento de men Pegar. La asignacin de la tecla de acceso aparece como una letra
subrayada en el ttulo del control de mens, como se muestra en la figura.
Para asignar una tecla de acceso a un control de mens con el Editor de mens
1. Seleccione el elemento de men al que desee asignar una tecla de acceso.
2. En el cuadro Ttulo, escriba un signo & adelante de la letra que elija como tecla de acceso.
Por ejemplo, si abre el men Edicin mostrado en la figura anterior, los siguientes valores de la
propiedad Caption se corresponden con las siguientes teclas de acceso.
Nota No use teclas de acceso duplicadas en los mens. Si usa la misma tecla de acceso para ms
de un elemento del men, dicha tecla no funcionar.
Teclas de mtodo abreviado
Las teclas de mtodo abreviado ejecutan un elemento de men inmediatamente cuando se
presionan. A los elementos de men que se utilizan con ms frecuencia se les puede asignar una
tecla de mtodo abreviado, que proporciona un mtodo de acceso por teclado de slo un paso, en
lugar del mtodo de tres pasos de presionar ALT, un carcter de acceso al ttulo del men y despus
un carcter de acceso al elemento del men. Las asignaciones de mtodos abreviados incluyen
combinaciones de teclas de funcin y de control, como CTRL+F1 o CTRL+A. Aparecen en el men a
la derecha del elemento de men correspondiente, como se muestra en la figura.
Para asignar una tecla de mtodo abreviado a un elemento de men
1. Abra el Editor de mens.
2. Seleccione el elemento de men.
3. Seleccione una combinacin de teclas de funcin o de otra tecla en el cuadro combinado
Shortcut.
4. Para quitar una asignacin de tecla de mtodo abreviado, elija "(Ninguno)" en la parte superior de
la lista.
Nota Las teclas de mtodo abreviado aparecen automticamente en el men; por tanto, no tiene
que escribir CTRL+tecla en el cuadro de texto Caption del Editor de mens.
Manual de Visual Basic 5.0 Autor: M a r t n A l e j a n d r o G u e r r a H e r n n d e z
- 40 -
Creacin de Submens.
Cada men que cree puede incluir hasta cinco niveles de submens. Un submen sale de otro men
para presentar sus propios elementos de men. Puede utilizar un submen cuando:
La barra de mens est llena.
Un control de mens concreto se utilice con poca frecuencia.
Quiera hacer nfasis en la relacin de un control de mens con otro.
Sin embargo, si hay sitio en la barra de mens, es mejor crear un ttulo de men adicional en lugar de
un submen. De esta manera, todos los controles son visibles para el usuario cuando el men se
despliega. Tambin es una buena prctica de programacin restringir el uso de los submens de
forma que los usuarios no se pierdan intentando explorar la interfaz de mens de la aplicacin. (La
mayora de las aplicaciones utilizan slo un nivel de submens.)
En el Editor de mens, cualquier control de mens sangrado bajo un control de mens que no sea un
ttulo de men es un control de submens. En general, los controles de submens pueden incluir
elementos de submen, barras separadoras y ttulos de submen.
Para crear un submen
1. Cree el elemento de men que vaya a ser el ttulo del submen.
2. Cree los elementos que vayan a aparecer en el nuevo submen y sngrelos haciendo clic en el
botn de flecha a la derecha.
3. Cada nivel de sangra est precedido por cuatro puntos (.) en el Editor de mens. Para quitar un nivel de
sangra, haga clic en botn de flecha a la izquierda.
Nota Si est pensando en la posibilidad de utilizar ms de un nivel de submens, piense en utilizar
un cuadro de dilogo en su lugar. Los cuadros de dilogo permiten que los usuarios especifiquen
varias opciones en un nico lugar.
Escritura de cdigo para controles de mens.
Cuando el usuario elige un control de mens, se produce un evento Click. Es necesario escribir un
procedimiento de evento Click para cada control de mens. Todos los controles de mens, excepto
las barras separadoras (y los controles de mens desactivados o invisibles), reconocen el evento
Click.
El cdigo que escribe en un procedimiento de evento de men no es diferente del que escribira en
los procedimientos de evento de cualquier otro control. Por ejemplo, el cdigo de un evento Click
para el elemento Cerrar del men Archivo podra parecerse a lo siguiente:
Sub mnuFileClose_Click ()
Unload Me
End Sub
Visual Basic presenta automticamente un men cuando se elige el ttulo del men; por tanto, no es
necesario que escriba cdigo para el procedimiento de evento Click de un ttulo de men a menos
que quiera realizar alguna otra accin, como desactivar ciertos elementos del men cuando ste sea
visible.
Nota En tiempo de diseo, los mens que cree se presentarn en el formulario al cerrar el Editor
de mens. Al elegir un elemento de un men dentro del formulario se presenta el procedimiento de
evento Click de dicho control de mens.
- 41 -