Curso Básico de Programación
en Visual Basic
Entrega
Veintitres: 4/Oct/98
por Guillermo "guille" Som
Si quieres linkar con las otras entregas, desde el índice lo puedes hacer
![]()
Tengo muchas excusas que darte,
para justificar este retraso, pero no voy a dartelas, ya que no
hará que esta entrega se publicara antes...
La verdad es que esto de tanta "teoría" me aburre un
poco y no me motiva, pero se que es importante que sepas todo
esto de los eventos y demás cosillas, así que voy a intentar
seguir, ya que en cuestión de un par de entregas estaremos con
otras cosas... no se que cosas, pero seguro que con otros
temas... lo importante es que sigas aprendiendo... pero no sólo
de lo que publico en el curso básico, sino que si le echas una
visual a los manuales y a la ayuda... algo tendrás aprendido,
espero que con todas las cosas que llevo puestas hasta la fecha
te haya servido para poder entender lo que en esos manuales y
ayuda se dice... y si no es así, no te preocupes, que algún
día lo podrás entender...
Bien, vamos a ver algunos de los eventos que se producen con el ratón.
Como ya te comenté en la entrega
anterior, se puede saber los eventos que un control puede
interceptar, al menos los que el Visual Basic nos permite, son
los que se muestran en la ventana de código, en la parte
izquierda se selecciona el control o formulario y en la derecha
están los eventos que podemos "codificar".
No todos los controles procesan los mismo eventos, pero en el
caso de los eventos del ratón, casi la mayoría los
interceptan... aunque no todos los que quisieramos, pero al menos
algunos...
En estas imagenes podemos ver las listas de "objetos" disponibles en el formulario, en los que podemos interceptar eventos y algunos de los eventos disponibles en el formulario.
![]() |
En la lista desplegable de la izquierda están los controles que están contenidos en el formulario, así como la sección "General" usada para las declaraciones de variables y procedimientos. | |
![]() |
En la lista de la derecha, se muestran los diferentes eventos disponibles para el control seleccionado en la izquierda, en esta imagen vemos algunos de los eventos "interceptados" por el VB refente a los formularios normales. |
Por ejemplo, podemos saber cuando se está moviendo el ratón por el control, (te recuerdo que los formularios también tienen estos eventos), si se ha presionado un botón y hasta que botón se ha presionado... Vamos a verlos con un poco más de detalle:
Evento MouseDown.
Este evento se produce cuando pulsamos un botón del ratón. Con los parámetros que tiene este evento podemos saber que botón se ha pulsado, la posición dentro del control y si se está pulsando la tecla Shift (Mayúsculas), Control o Alt.
Vamos a ver los parámetros y algunos de los valores disponibles.
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
| Button | Indica
el botón que se está pulsando, puede tener los
siguientes valores: 1, se está pulsando el botón izquierdo, 2, se está pulsando el derecho, 4, se está pulsando el botón central. Sólo se controla un botón a la vez. |
|
| Shift | Indica
si se está pulsando algunas de las teclas de
"cambio", Shift, Ctrl o Alt, el valor devuelto
corresponde con: 1, se está pulsando la tecla Shift (mayúsculas) 2, se está pulsando Control 4, se está pulsando Alt Se permiten combinaciones de estos valores, es decir que si se pulsan varias de esas teclas, los valores serán: 3, se están pulsando Shift y Ctrl, 5, se están pulsando Shift y Alt, 6, se están pulsando Ctrl y Alt, 7, se están pulsando las tres teclas. |
|
| X, Y | Indica
las coordenadas de la posición del puntero del ratón
dentro del control. Es importante saber que estos valores son sólo dentro del control en cuestión, no referente al formulario o la pantalla. |
El evento MouseDown se suele usar, entre otras cosas, para mostrar menús emergentes (PopUpMenus), normalmente controlando que se haya pulsado el botón derecho, (cuando Button vale 2)
Evento MuseUp.
Este evento se produce cuando se suelta el botón, los parámetros son los mismos que para MouseDown, pero en este caso lo que se detecta es cuando se "suelta" el botón pulsado.
Evento Click.
Este evento se produce cuando se hace "click" en un control... es una combinación del MouseDown seguido de un evento MouseUp... debes tener en cuenta que si estás genstionando los eventos MouseDown, MouseUp y Click te encontrarás con que se producen los tres eventos en ese orden, es decir, primero se presiona, después se suelta y por último se produce el Click.
Evento DblClick.
Este como podrás imaginarte, se produce cuando se hace una doble pulsación, doble click.
Si estás controlando
estos cuatro eventos, además de hacer tus propias
comprobaciones, deberías saber que normalmente se producen en
este orden:
Primero el MouseDown, seguido de un MouseUp, a continuación un
Click seguido de un DblClick y por último un MouseUp.
Todo esto lo puedes comprobar con el siguiente código:
'
'Pruebas para la entrega 23 del curso básico (04/Oct/98)
'
Option Explicit
Private Sub Form_Click()
Debug.Print "Se ha pulsado sobre el formulario (Click)"
End Sub
Private Sub Form_DblClick()
Debug.Print "Doble pulsación en el formulario (DblClick)"
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print "Se ha pulsado el botón del ratón (MouseDown)"
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print "Se ha soltado el botón del ratón (MouseUp)"
End Sub
Evento MouseMove.
Este evento se produce cada vez
que movemos el ratón por un control o por el formulario.
Los parámetros de este procedimiento son los mismos que en los
otros referentes al ratón:
Private Sub xxx_MouseMove(Button As Integer, Shift As Integer, X
As Single, Y As Single)
Con este evento podemos saber
cuando estamos dentro del control, sabiendo esto, podemos cambiar
su apariencia, etc.
El problema es que no sabemos cuando no estamos
en el control, aunque si interceptamos la entrada en otras partes
del formulario, podremos saber que no estamos en el control en
cuestión, ya que si estamos en otro control... quiere decir que
no estamos en este... ¡Elemental querido Watson!
Si quieres ver un ejemplo para hacer "garabatos" en la pantalla... algunos lo llaman dibujar, en el código del evento MouseDown, selecciona la palabra MouseDown y pulsa F1, en el ejemplo que se muestra está el programa para hacer esos garabaticos...
Y esto es todo por hoy... poco,
pero mejor poco que nada... la próxima entrega será sobre los
eventos del teclado... que podría haber puesto en esta, pero...
Y después veremos algunos otros más... lo que no se es si será
en la próxima o en la siguiente... ya veremos.
Y para seguir con la norma... si
quieres dejar un mensaje referente al curso básico, puedes
hacerlo, para ello usa el siguiente link para que te resulte más
fácil y así controle que lo que me quieres decir es referente
al curso y no para hacer una consulta, ya que algunos aprovechan
la ocasión para preguntar...
Este es el link para que me mandes tu
comentario.
Nos vemos.
Guillermo
![]()
Ir a la entrega anterior (la 22)
Las páginas
del Curso Básico se han visitado:
veces desde el 3/Sep/97 04:15 GMT