Monografias | Programación orientada a eventos

Programación orientada a eventos

Resumen: Introducción. Visual Basic. Visual C++. Java. Programas Secuenciales, Interactivos Y Orientados A Eventos. Propiedades y métodos. Modo de diseño y de ejecución. Objetos y Propiedades. Nombres de Objetos. Orden de disparo de los eventos. Carga y descarga de formulario. Eventos relacionados con el ratón. Agregando código al formulario. Crear, disparar y manejar eventos personalizados. Eventos y propiedades relacionados con gráficos.

Publicación enviada por Armin Molas


 

    Indice

Objetivo

Introducción a la programación orientada a eventos

Programas secuenciales, interactivos y orientados a eventos

Eventos

Propiedades

Métodos

Programas para el entorno de Windows

Modo de diseño y modo de ejecución.

Objetos y Propiedades

Nombres de Objetos

Orden de disparo de los eventos

Carga y descarga de formulario

Eventos relacionados con el ratón

Agregando código al formulario.

Crear, disparar y manejar eventos personalizados

Eventos y propiedades relacionados con gráficos

Conclusión

Bibliografía

Objetivo :

 

El trabajo identificará conceptos de programación orientada al evento confrontándola con lenguajes visuales y orientados a objetos, asimismo, y manejará el ambiente de desarrollo de Visual Basic en la construcción de interfaces gráficas para demostraciones de eventos.

 

Introducción a la Programación Orientada a Eventos  

Los lenguajes visuales orientada al evento y con manejo de componentes dan al usuario que no cuenta con mucha experiencia en desarrollo, la posibilidad de construir sus propias aplicaciones utilizando interfaces gráficas sobre la base de ocurrencia de eventos.            

Para soportar este tipo de desarrollo interactuan dos tipos de herramientas, una  que permite realizar diseños gráficos y , un lenguaje de alto nivel que permite codificar los eventos. Con dichas herramientas es posible desarrollar cualquier tipo de aplicaciones basadas en el entorno.  

Visual Basic  es uno de los lenguajes de programación que más entusiasmo despiertan entre los programadores de computadoras, tanto expertos como novatos. En el caso de los programadores expertos por la facilidad con la que desarrollan aplicaciones complejas en poquísimo tiempo (comparado con lo que cuesta programar en Visual C++, por ejemplo). En el caso de los programadores novatos por el hecho de ver de lo que son capaces a los pocos minutos de empezar su aprendizaje. El precio que hay que pagar por utilizar Visual Basic  es una menor velocidad o eficiencia en las aplicaciones.  

Visual Basic es un lenguaje de programación visual, también llamado lenguaje de 4ta. generación. Esto quiere decir que un gran número de tareas se realizan sin escribir código, simplemente con operaciones gráficas realizadas con el ratón sobre la pantalla.  

Visual Basic es también un programa basado en objetos, aunque no orientado a objetos como Visual C++. La diferencia está en que Visual Basic utiliza objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo propios de los verdaderos lenguajes orientados a objetos como Java y C++.

En este trabajo se presentará las características generales de Visual Basic, junto con algunos ejemplos sencillos que den idea de la potencia del lenguaje orientado a eventos, y del modo en que se utiliza.  

 

Programas Secuenciales, Interactivos Y Orientados A Eventos    

Existen distintos tipos de programas. En los primeros tiempos de los ordenadores los programas eran de tipo secuencial (también llamados tipo batch). Un programa secuencial es un programa que se arranca, lee los datos que necesita, realiza los cálculos e imprime o guarda en el disco los resultados. De ordinario, mientras un programa secuencial está ejecutándose no necesita ninguna intervención del usuario. A este tipo de programas se les llama también programas basados u orientados a procedimientos o a algoritmos (procedural languages). Este tipo de programas siguen utilizándose ampliamente en la actualidad, pero la difusión de los PC’s ha puesto de actualidad otros tipos de programación.  

Los programas interactivos exigen la intervención del usuario en tiempo de ejecución, bien para suministrar datos, bien para indicar al programa lo que debe hacer por medio de menús. Los programas interactivos limitan y orientan la acción del usuario.  

Por su parte los programas orientados a eventos son los programas típicos de Windows, tales como Netscape, Word, Excel, PowerPoint y otros. Cuando uno de estos programas ha arrancado, lo único que hace es quedarse a la espera de las acciones del usuario, que en este caso son llamadas eventos.  

El usuario dice si quiere abrir y modificar un fichero existente, o bien comenzar a crear un fichero desde el principio. Estos programas pasan la mayor parte de su tiempo esperando las acciones del usuario (eventos) y respondiendo a ellas. Las acciones que el usuario puede realizar en un momento determinado son variadísimas, y exigen un tipo especial de programación: la programación orientada a eventos. Este tipo de programación es sensiblemente más complicada que la secuencial y la interactiva, pero con los lenguajes visuales de hoy, se hace sencilla y agradable.  

Antes de continuar es necesario definir algunos conceptos de los elementos de Programación Orientada a Eventos.

 

Eventos

Ya se ha dicho que las acciones del usuario sobre el programa se llaman eventos. Son eventos típicos el click sobre un botón, el hacer doble click sobre el nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinación de teclas, el elegir una opción de un menú, el escribir en una caja de texto, o simplemente mover el ratón. Más adelante se verán los distintos tipos de eventos reconocidos por Windows 95 y por Visual Basic. Cada vez que se produce un evento sobre un determinado tipo de control, Visual Basic arranca una determinada función o procedimiento que realiza la acción programada por el usuario para ese evento concreto. Estos procedimientos se llaman con un nombre que se forma a partir del nombre del objeto y el nombre del evento, separados por el carácter (_), como por ejemplo txtBox_click, que es el nombre del procedimiento que se ocupará de responder al evento click en el objeto txtBox.  

 

Propiedades y Métodos.

Además de los eventos, la mayor parte de los objetos, como los formularios y los controles, son suministrados con propiedades y métodos.  

Son conceptos fundamentales e importantes.

 

Propiedades

Una propiedad es una asignación que describe algo sobre un objeto como un formulario. Dependiendo de la propiedad, se la puede asignar en tiempo de diseño usando la ventana Propiedades y/o en tiempo de ejecución al programar.  

            A continuación  se describen dos ejemplos de las propiedades del formulario de Visual Basic:  

·       MinButton. Esta propiedad puede asignarse como TRUE (verdadero) o FALSE (falso). Dependiendo de la asignación, el formulario tendrá o no tendrá un botón minimizar.

·       BackColor. Asignando esta propiedad a un valor expresado como hexadecimal RGB (Rojo Verde Azul) o como una constante se cambia el color del fondo del formulario. Se pueden consultar las constantes usando el examinador de objetos (Seleccione VER, EXAMINADOR DE OBJETOS) y en la Biblioteca VBRUN (Columna clase) bajo “ColorConstants” y “SystemColorConstants”.  

 

Métodos

Los métodos son funciones que también son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje. Los métodos realizan tareas típicas, previsibles y comunes para todas las aplicaciones. de ahí que vengan con el lenguaje y que se libere al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios métodos.  

En general solo pueden ser ejecutados en tiempos de ejecución no en tiempo de diseño. Algunos ejemplos de métodos de formularios son el método MOVE, que mueve un formulario en un espacio de dos dimensiones en la pantalla, y el método ZORDER que sitúa el formulario delante o detrás de otras ventanas.  

Los métodos son invocados dando nombres al objeto y cuyo método se está llamando, listando el operador punto (.), y después listando el nombre del método. Como cualquier rutina los métodos pueden incorporar argumentos  

Por ejemplo:

 

Form1.Show 1  

Este método Show carga y muestra un formulario, dos acciones distintas que forman ambas partes del proceso de nacimiento o inicio a un formulario (al ejecutar el formulario de inicio se carga también primero el formulario y después se muestra). El método Show puede ser invocado como no modal o modal. Modal significa que no se ejecuta ningún código posterior hasta que el formulario se oculte o se descargue. Cuando se muestra un formulario modal no se puede producir ninguna entrada de usuario (de teclado o click del ratón) excepto para los objetos del formulario modal. Si se activa el estilo 1 (uno) es  modal y 0 (cero) es no modal.  

 

Visual Significa Visual.

            Como el nombre lo indica, una gran parte de la programación con Visual Basic se realiza visualmente. Esto significa que durante el tiempo de diseño usted tiene la capacidad de ver la forma en el  programa se vera al ejecutarse Esta es una gran ventaja sobre otros lenguajes de programación debido a que se tiene la capacidad de cambiar y experimentas con el diseño hasta que se esté satisfecho con los colores, proporciones e imágenes que incluya en su programa.

 

Programas Para El Entorno Windows.

            Visual Basic está orientado a la realización de programas para Windows, pudiendo incorporar todos los elementos de este entorno informático: ventanas, botones, cajas de diálogo y de texto, botones de opción y de selección, barras de desplazamiento, gráficos, menús, etc. Prácticamente todos los elementos de interacción con el usuario de los que dispone Windows 95 pueden ser programados en Visual Basic de un modo extraordinariamente sencillo. En ocasiones bastan unas pocas operaciones con el ratón y la introducción a través del teclado de algunas sentencias para disponer de aplicaciones con todas las características de Windows 95.

 

Modo De Diseño Y Modo De Ejecución.

            La aplicación Visual Basic de Microsoft puede trabajar de dos modos distintos: en modo de diseño y en modo de ejecución. En modo de diseño el usuario construye interactivamente la aplicación, colocando controles en el formulario, definiendo sus propiedades, desarrollando funciones para gestionar los eventos. La aplicación se prueba en modo de ejecución. En ese caso el usuario actúa sobre el programa (introduce eventos) y prueba cómo responde el programa. Hay algunas propiedades de los controles que deben establecerse en modo de diseño, pero muchas otras pueden cambiarse en tiempo de ejecución desde el programa escrito en Visual Basic, en la forma en que más adelante se verá. También hay propiedades que sólo pueden establecerse en modo de ejecución y que no son visibles en modo de diseño.

 

Formularios Y Controles

Cada uno de los elementos gráficos que pueden formar parte de una aplicación típica de Windows 95 es un tipo de control: los botones, las cajas de diálogo y de texto, las cajas de selección desplegables, los botones de opción y de selección, las barras de desplazamiento horizontales y verticales, los gráficos, los menús, y muchos otros tipos de elementos son controles para Visual Basic. Cada control debe tener un nombre a través del cual se puede hacer referencia a él en el programa. Visual Basic proporciona nombres por defecto que el usuario puede modificar.  

En la terminología de Visual Basic se llama formulario (form) a una ventana. Un formulario puede ser considerado como una especie de contenedor para los controles. Una aplicación puede tener varios formularios, pero un único formulario puede ser suficiente para las aplicaciones más sencillas. Los formularios deben también tener un nombre, que puede crearse siguiendo las mismas reglas que para los controles.

 

Objetos Y Propiedades

            Los formularios y los distintos tipos de controles son entidades genéricas de las que puede haber varios ejemplares concretos en cada programa. En programación orientada a objetos (más bien basada en objetos, habría que decir) se llama clase a estas entidades genéricas, mientras que se llama objeto a cada ejemplar de una clase determinada. Por ejemplo, en un programa puede varios botones, cada uno de los cuales es un objeto del tipo de control command button, que sería la clase.  

Cada formulario y cada tipo de control tienen un conjunto de propiedades que definen su aspecto gráfico (tamaño, color, posición en la ventana, tipo y tamaño de letra, etc.) y su forma de responder a las acciones del usuario (si está activo o no, por ejemplo). Cada propiedad tiene un nombre que viene ya definido por el lenguaje.

Por lo general, las propiedades de un objeto son datos que tienen valores lógicos (true, false) o numéricos concretos, propios de ese objeto y distintos de las de otros objetos de su clase. Así pues, cada clase, tipo de objeto o control tiene su conjunto de propiedades, y cada objeto o control concreto tiene unos valores determinados para las propiedades de su clase.  

Casi todas las propiedades de los objetos pueden establecerse en tiempo de diseño y también -casi siempre-  en tiempo de ejecución. En este segundo caso se accede a sus valores por medio de las sentencias del programa, en forma análoga a como se accede a cualquier variable en un lenguaje de programación. Para ciertas propiedades ésta es la única forma de acceder a ellas. Por supuesto Visual Basic permite crear distintos tipos de variables, como más adelante se verá.  

Se puede acceder a una propiedad de un objeto por medio del nombre del objeto a que pertenece, seguido de un punto y el nombre de la propiedad, como por ejemplo optColor.objName.

 

Nombres De Objetos

En principio cada objeto de Visual Basic debe tener un nombre, por medio del cual se hace referencia a dicho objeto. El nombre puede ser el que el usuario desee, e incluso Visual Basic proporciona nombres por defecto para los diversos controles. Estos nombres por defecto hacen referencia al tipo de control y van seguidos de un número que se incrementa a medida que se van introduciendo más controles de ese tipo en el formulario (por ejemplo VScroll1, para una barra de desplazamiento -ScrollBar- vertical, HScroll1, para una barra horizontal, etc.).  

Los nombres por defecto no son adecuados porque hacen referencia al tipo de control, pero no al uso que de dicho control está haciendo el programador. Por ejemplo, si se utiliza una barra de desplazamiento para introducir una temperatura, conviene que su nombre haga referencia a la palabra temperatura, y así cuando haya que utilizar ese nombre se sabrá exactamente a qué control corresponde. Un nombre adecuado sería por ejemplo hsbTemp, donde las tres primeras letras indican que se trata de una horizontal scroll bar, y las restantes (empezando por una mayúscula) que servirá para definir una temperatura.  

Existe una convención ampliamente aceptada que es la siguiente: se utilizan siempre tres letras minúsculas que indican el tipo de control, seguidas por otras letras (la primera mayúscula, a modo de separación) libremente escogidas por el usuario, que tienen que hacer referencia al uso que se va a dar a ese control. La Tabla 1.1 muestra las abreviaturas de los controles más usuales, junto con la nomenclatura inglesa de la que derivan.  

 

Abrebiatura

Control

Abrebiatura

Control

chk

check box

cbo

combo y drop-list box

Cmd

command button

dir

dir list box

drv

drive list box

fil

file list box

frm

form

fra

Frame

hsb

horizontal scroll bar

img

Image

lbl

label

lin

Line

lst

list

mnu

Menu

opt

option button

pic

Picture

shp

shape

txt

text edit box

tmr

timer

vsb

 vertical scroll bar

Tabla 1.1. Abreviaturas para los controles más usuales    

 

Orden De Disparo De Eventos.

            Para controlar con éxito la aparición y el comportamiento de los formularios (y también de los controles) en tiempos de ejecución, debe comprenderse en que orden se disparan los eventos. Las consideraciones del orden de disparo de los eventos deciden generalmente por el usuario donde debe ser colocada una parte determinada de código de respuesta de un evento. Los eventos de formularios pueden ser divididos en los grupos siguientes:

·       Inicio.

·       Respuesta a una acción (de usuario).

·       Vinculación.

·       Cierre.  

Es importante también comprender que un evento inicia automáticamente con frecuencia a otro evento, produciendo un efecto en cascada. Por ejemplo un evento KeyPress no puede ser disparada sin disparar también lo eventos KeyUp y KeyDown. El secreto para trabajar con esta clase de situaciones es una comprensión clara de que es lo que dispara cada evento en la secuencia; el peligro de la codificación es iniciar un cadena sin fin de llamada a eventos circulares recursivos.

 

Eventos Generales  

Carga Y Descarga De Formularios

Cuando se arranca una aplicación, o más en concreto cuando se visualiza por primera vez un formulario se producen varios eventos consecutivos: Initialize, Load, Activate y Paint. Cada uno de estos eventos se puede aprovechar para realizar ciertas operaciones por medio de la función correspondiente.

Para inicializar las variables definidas a nivel de módulo se suele utilizar el evento Initialize, que tiene lugar antes que el Load. El evento Load se activa al cargar un formulario. Con el formulario principal esto sucede al arrancar la ejecución de un programa; con el resto de los formularios al mandarlos cargar desde cualquier procedimiento o al hacer referencia a alguna propiedad o control de un formulario que no esté cargado. Al descargar un formulario se produce el evento Unload. Si se detiene el programa desde el botón Stop de Visual Basic (o del menú correspondiente) o con un End, no se pasa por el evento Unload. Para pasar por el evento Unload es necesario cerrar la ventana con el botón de cerrar o llamarlo explícitamente. El evento QueryUnload se produce antes del evento Unload y permite por ejemplo enviar un mensaje de confirmación.

QueryUnload. Se dispara por un evento Unload de formulario, antes de que se ejecute ningún código del evento Unload. QueryUnload da la oportunidad de detener la descarga del formulario de la memoria cuando sea apropiado, por ejemplo, cuando el usuario haya cambiado valores del formulario sin guardar los cambios. El formulario no será descargado si la variable Cancel está asignada como True en el procedimiento del evento QueryUnload. Es una práctica común asignar esta variable como True a continuación de una consulta del usuario a lo largo de las líneas de “¿Guardar los cambios? Sí, No, Cancelar” cuando el usuario responde cancelando. La función MsgBox puede usarse fácilmente para dar al usuario una oportunidad de cancelar una descarga.

Unload. Se dispara cuando un usuario cierra el formulario usando el comando Cerrar en el menú Control o cuando se ejecuta en código un método Unload. Unload dispara inmediatamente un evento QueryUnload como acabamos de describir. Se pude usar el evento Unload (así como QueryUnload) para realizar tareas de cierre como guardar y convalidar datos.

Terminate. Se produce cuando se eliminan de la memoria todas las referencia a una instancia de un formulario.

El evento Load de un formulario se suele utilizar para ejecutar una función que dé valor a sus propiedades y a las de los controles que dependen de dicho formulario. No se puede utilizar para dibujar o imprimir sobre el formulario, pues en el momento en que se produce este evento el formulario todavía no está disponible para dichas operaciones. Por ejemplo, si en el formulario debe aparecer la salida del método Print o de los métodos gráficos Pset, Line y Circle puede utilizarse el evento Paint u otro posterior (por ejemplo, el evento GotFocus del primer control) pero no puede utilizarse el evento Load. Se puede ocultar un formulario sin descargarlo con el método Hide o haciendo la propiedad Visible = False. Esto hace que el formulario desaparezca de la ventana, aunque sus variables y propiedades sigan estando accesibles y conservando sus valores. Para hacer visible un formulario oculto pero ya cargado se utiliza el método Show, que equivale a hacer la propiedad Visible = True, y que genera los eventos Activate y Paint. Si el formulario no había sido cargado previamente, el método Show genera los cuatro eventos mencionados.

Cuando un formulario pasa a ser la ventana activa se produce el evento Activate y al dejar de serlo el evento Deactivate. En el caso de que el formulario que va a ser activo no estuviera cargado ya, primero sucederían los eventos Initialize, Load y luego los eventos Activate y Paint. Se han de crear dos formularios (frmPrincipal y frmSecundario). El primero de ellos contendrá dos botones (cmdVerSec y cmdSalir) y el segundo tres (cmdHide, cmdUnload y cmdTerminate). El formulario principal será el primero que aparece, y sólo se verá el segundo si se clica en el botón Cargar Formulario. Cuando así se haga, a medida que los eventos antes mencionados se vayan sucediendo, irán apareciendo en pantalla unas cajas de mensajes que tendrán como texto el nombre

del evento que se acaba de producir. Según con cual de los tres botones se haga desaparecer el segundo formulario, al volverlo a ver se producirán unos eventos u otros, según se puede ver por los mensajes que van apareciendo con cada evento.

 

' código del form. principal

Private Sub cmdCargar_Click()

frmSecundario.Show

End Sub

' código del form. secundario

Private Sub cmdHide_Click()

Hide

End Sub

Private Sub cmdUnload_Click()

Unload Me

End Sub  

 

Private Sub cmdTerminate_Click()

Hide

Set Form2 = Nothing

End Sub

Private Sub Form_Activate()

MsgBox ("Evento Activate")

End Sub

Private Sub Form_Deactivate()

MsgBox ("Evento Deactivate")

End Sub

Private Sub Form_Initialize()

MsgBox ("Evento Initialize")

End Sub

Private Sub Form_Load()

MsgBox ("Evento Load")

End Sub

Private Sub Form_Paint()

MsgBox ("Evento Paint")

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

MsgBox ("Evento QueryUnload")

End Sub

Private Sub Form_Terminate()

MsgBox ("Evento Terminate")

End Sub

Private Sub Form_Unload(Cancel As Integer)

MsgBox ("Evento Unload")

End Sub  

 

Es muy interesante realizar este ejemplo y seguir la secuencia de eventos que se producen al hacer aparecer y desaparecer los formularios.

 

Paint.

El evento Paint sucede cuando hay que redibujar un formulario o PictureBox. Esto sucede cuando esos objetos se hacen visibles después de haber estado tapados por otros, tras haber sido movidos otras haber sido modificados de tamaño.

 

El foco (focus)

En todas las aplicaciones de Windows, en cualquiera de sus versiones, siempre hay un único control, formulario o ventana que puede recibir clicks del ratón o entradas desde teclado. En cada momento ese control, ventana o formulario es el que dispone del “foco” (focus). El objeto que posee el foco está caracterizado por estar resaltado con letra negrita, con un contorno más vivo o teniendo parpadeando el cursor en él. Este foco puede ser trasladado de un objeto a otro por código o por interacciones del usuario, como por ejemplo clicando con el ratón en distintos puntos de la pantalla o pulsando la tecla Tab. Cada vez que un objeto pierde el foco se produce su evento LostFocus y, posteriormente, el evento GotFocus del objeto que ha recibido el foco.

 

Dos propiedades de muchos controles relacionadas con el foco son TabIndex y TabStop.

TabStop determina si el foco se va o no a posar en el objeto al pulsar la tecla Tab (si TabStop está a False no se puede obtener el foco mediante el tabulador) y TabIndex determina el orden en el que esto va a suceder. Así al cargar un formulario, el foco estará en aquel objeto cuyo TabIndex sea 0.

Al pulsar la tecla Tab el foco irá al objeto que tenga TabIndex = 1 y así sucesivamente. Para retroceder en esta lista se pulsa Mayúsculas+Tab. La propiedad TabIndex se puede determinar en tiempo de diseño por medio de la caja de propiedades, del modo habitual. Cuando a un control se le asigna un determinado valor de TabIndex, Visual Basic ajusta automáticamente los valores de los demás controles (si tiene que desplazarlos hacia arriba o hacia abajo, lo hace de modo que siempre tengan números consecutivos). Para que un formulario reciba el foco es necesario que no haya en él ningún control que sea capaz de recibirlo. Un grupo de botones de opción tiene un único TabIndex, es decir, se comporta como un único control. Para elegir una u otra de las opciones se pueden utilizar las flechas del teclado (­ y ¯).

   

KeyPress, KeyUp y KeyDown.

El evento KeyPress sucede cuando el usuario pulsa y suelta determinada tecla. En este evento el único argumento KeyAscii es necesario para conocer cuál es el código ASCII de la tecla pulsada. El evento KeyDown se produce cuando el usuario pulsa determinada tecla y el evento KeyUp al soltar una tecla.

Los eventos KeyUp y KeyDown tienen un segundo argumento llamado Shift que permiten determinar si esa tecla se ha pulsado estando pulsadas a la vez cualquier combinación de las teclas

Shift, Alt y Ctrl. En un apartado próximo se explica cómo se identifican las teclas pulsadas a partir del argumento Shift.

 

Eventos Relacionados Con El Ratón.  

Click y DblClick

El evento Click se activa cuando el usuario pulsa y suelta rápidamente uno de los botones del ratón. También puede activarse desde código (sin tocar el ratón) variando la propiedad Value de uno de los controles. En el caso de un formulario este evento se activa cuando el usuario clica sobre una zona del formulario en la que no haya ningún control o sobre un control que en ese momento esté inhabilitado (propiedad Enabled = False). En el caso de un control, el evento se activa cuando el usuario realiza una de las siguientes operaciones:

·         Clicar sobre un control con el botón derecho o izquierdo del ratón. En el caso de un botón de comando, de un botón de selección o de un botón de opción, el evento sucede solamente al darle un click con el botón izquierdo.

·         Seleccionar un registro de alguno de los varios tipos listas desplegables que dispone Visual Basic.

·         Pulsar la barra espaciadora cuando el foco está en un botón de comando, en un botón de selección o en un botón de opción.

·         Pulsar la tecla Return cuando en un formulario hay un botón que tiene su propiedad Default = True.

·         Pulsar la tecla Esc cuando en un formulario hay un botón que tiene su propiedad Cancel = True.

·         Pulsar una combinación de teclas aceleradoras (Alt + otra tecla, como por ejemplo cuando de despliega el menú File de Word con Alt+F) definidas para activar un determinado control de un formulario.

 

También se puede activar el evento Click desde código realizando una de las siguientes operaciones:

·         Hacer que la propiedad Value de un botón de comando valga True.

·         Hacer que la propiedad Value de un botón de opción valga True

·         Modificar la propiedad Value de un botón de selección.

El evento DblClick sucede al clicar dos veces seguidas sobre un control o formulario con el botón izquierdo del ratón.

 

MouseDown, MouseUp y MouseMove.

El evento MouseDown sucede cuando el usuario pulsa cualquiera de los botones del ratón, mientras que el evento MouseUp sucede al soltar un botón que había sido pulsado. El evento MouseMove sucede al mover el ratón sobre un control o formulario.  

Los eventos MouseUp y MouseDown tienen algunos argumentos que merecen ser comentados. El argumento Button indica cuál de los botones del ratón ha sido pulsado o soltado, y el argumento Shift indica si además alguna de las teclas alt, shift o ctrl está también pulsada. La lista con todos los posibles valores de estos argumentos se muestra abajo.

 

 Cte simbólica Valor Acción Cte simbólica Valor Acción  

vbLeftButton 1 Botón izdo pulsado o soltado vbShiftMask 1 Tecla SHIFT pulsada

vbRightButton 2 Botón dcho pulsado o soltado vbCtrlMask 2 Tecla CTRL pulsada

vbMiddleButton 4 Botón central pulsado o soltado vbAltMask 4 Tecla ALT pulsada  

 Valores de los argumentos de los eventos MouseUp y MouseDown  

Con estos valores se aplica la aritmética booleana, lo cual quiere decir que si se pulsan simultáneamente los botones izquierdo y derecho del ratón el argumento Button valdrá 3 (1+2) y si

se pulsan las tres teclas shift, ctrl y alt simultáneamente el argumento Shift valdrá 7 (1+2+4).

 

DragOver y DragDrop.