Evento click derecho del mouse
Hola
Alguien puede decirme como se intercepta el evento de dar click sobre el boton derecho del mouse en general(sobre formularios, MSFlexGrids, botones, pero sobre todo me interesa saber sobre MSFlexGrid y formularios)
De antemano muchas gracias.
Atte. Fdo. Fdez.
Alguien puede decirme como se intercepta el evento de dar click sobre el boton derecho del mouse en general(sobre formularios, MSFlexGrids, botones, pero sobre todo me interesa saber sobre MSFlexGrid y formularios)
De antemano muchas gracias.
Atte. Fdo. Fdez.
Para distinguir entre los botones primario, secundario y central del mouse, utilice los eventos MouseDown y MouseUp.
El argumento button se usa con MouseDown para determinar qué botón está presionado y con MouseUp para determinar qué botón se ha soltado. Como en cada evento sólo un bit tiene valor, no puede comprobar si se están usando dos o más botones a la vez. Es decir, los eventos MouseDown y MouseUp sólo reconocen la presión de un botón cada vez.
Nota Por otro lado, puede usar el evento MouseMove para comprobar si hay dos o más botones presionados simultáneamente. También puede usar MouseMove para comprobar qué botón en concreto está presionado, independientemente de si hay o no otro botón presionado a la vez. Para obtener más información al respecto, consulte Uso de Button con MouseMove, más adelante en este mismo tema.
Puede especificar qué botón ha causado el evento MouseDown o MouseUp mediante código sencillo. El siguiente procedimiento comprueba si button es igual a 1, 2 ó 4:
Private Sub Form_MouseDown (Button As Integer, _
Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Print "Presionó _
el botón primario."
If Button = 2 Then Print "Presionó _
el botón secundario."
If Button = 4 Then Print "Presionó _
el botón central."
End Sub
Si se presiona más de un botón, Visual Basic interpreta la acción como dos o más eventos MouseDown distintos. Establece el bit para el primer botón presionado, muestra el mensaje para ese botón y, a continuación, hace lo mismo para el siguiente botón. Igualmente, Visual Basic interpreta como eventos MouseUp distintos el hecho de que se suelten dos o más botones.
Nota Por otro lado, puede usar el evento MouseMove para comprobar si hay dos o más botones presionados simultáneamente. También puede usar MouseMove para comprobar qué botón en concreto está presionado, independientemente de si hay o no otro botón presionado a la vez. Para obtener más información al respecto, consulte Uso de Button con MouseMove, más adelante en este mismo tema.
Puede especificar qué botón ha causado el evento MouseDown o MouseUp mediante código sencillo. El siguiente procedimiento comprueba si button es igual a 1, 2 ó 4:
Private Sub Form_MouseDown (Button As Integer, _
Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Print "Presionó _
el botón primario."
If Button = 2 Then Print "Presionó _
el botón secundario."
If Button = 4 Then Print "Presionó _
el botón central."
End Sub
Si se presiona más de un botón, Visual Basic interpreta la acción como dos o más eventos MouseDown distintos. Establece el bit para el primer botón presionado, muestra el mensaje para ese botón y, a continuación, hace lo mismo para el siguiente botón. Igualmente, Visual Basic interpreta como eventos MouseUp distintos el hecho de que se suelten dos o más botones.
Si necesita comprobar los argumentos botón o mayús, puede utilizar las constantes enumeradas en la biblioteca de objetos del Examinador de objetos de Visual Basic (VB) para definir los bits dentro del argumento:
Constante (Botón) Valor Descripción
vbLeftButton 1 Está presionado el botón primario.
vbRightButton 2 Está presionado el botón secundario.
vbMiddleButton 4 Está presionado el botón
Constante (Botón) Valor Descripción
vbLeftButton 1 Está presionado el botón primario.
vbRightButton 2 Está presionado el botón secundario.
vbMiddleButton 4 Está presionado el botón
