Evento Application.MouseMove (Visio)

Se produce cuando se mueve el mouse.

Sintaxis

expresión. MouseMove (Button, KeyButtonState, x, y, CancelDefault)

expresión Variable que representa un objeto Application.

Parámetros

Nombre Obligatorio/opcional Tipo de datos Descripción
Button Obligatorio Long Botón del mouse en el que se ha hecho clic. Los valores posibles se declaran en VisKeyButtonFlags.
KeyButtonState Necesario Long Estado de los botones del mouse y las teclas Mayús y Ctrl del evento. Los valores posibles pueden ser una combinación de los valores declarados en VisKeyButtonFlags. Por ejemplo, si KeyButtonState devuelve 9, indica que el usuario ha hecho clic en el botón izquierdo del mouse mientras presiona Ctrl.
x Obligatorio Double Coordenada x del puntero del mouse.
y Obligatorio Double Coordenada y del puntero del mouse.
CancelDefault Obligatorio Boolean Su valor es False si Microsoft Visio va a procesar el mensaje que recibe de este evento; en caso contrario, es True.

Comentarios

Si establece CancelDefault en True, Visio no procesará el mensaje recibido cuando se haga clic en el botón del mouse.

A diferencia de otros eventos de Visio, MouseMove no tiene el prefijo Query, pero es un evento de consulta. Es decir, puede cancelar el procesamiento del mensaje enviado por MouseMove, estableciendo CancelDefault en True o, si usa el método VisEventProc para controlar el evento, devolviendo True. Para obtener más información, vea los temas referentes al método VisEventProc y a cualquiera de los eventos de consulta (por ejemplo, el evento QueryCancelSuspend) en esta referencia.

Si utiliza Microsoft Visual Basic o Visual Basic para Aplicaciones (VBA), la sintaxis de este tema describe una forma común y eficaz de controlar los eventos.

Si desea crear sus propios objetos Event , use el método Add o AddAdvise .

Para crear un objeto Event que ejecute un complemento, use el método Add, ya que se aplica a la colección EventList.

Para crear un objeto Event que reciba notificaciones, use el método AddAdvise.

Para encontrar un código de evento para el evento que desea crear, vea el tema sobre los códigos de evento.

Ejemplo:

Este módulo de clase muestra cómo definir una clase de receptor denominada MouseListener que escucha eventos desencadenados por acciones del mouse en la ventana activa. Declara la variable de objeto vsoWindow mediante la palabra clave WithEvents. El módulo de clase también contiene controladores de eventos para los eventos MouseDown, MouseMove y MouseUp .

Para ejecutar este ejemplo, inserte un nuevo módulo de clase en el proyecto de VBA, asígnele el nombre MouseListener e inserte el código siguiente en el módulo.

Dim WithEvents vsoWindow As Visio.Window 
 
Private Sub Class_Initialize() 
 
 Set vsoWindow = ActiveWindow 
 
End Sub 
 
Private Sub Class_Terminate() 
 
 Set vsoWindow = Nothing 
 
End Sub 
 
Private Sub vsoWindow_MouseDown(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean) 
 
 If Button = 1 Then 
 
 Debug.Print "Left mouse button clicked" 
 
 ElseIf Button = 2 Then 
 
 Debug.Print "Right mouse button clicked" 
 
 ElseIf Button = 16 Then 
 
 Debug.Print "Center mouse button clicked" 
 
 End If 
 
End Sub 
 
Private Sub vsoWindow_MouseMove(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean) 
 
 Debug.Print "x-position is "; x 
 Debug.Print "y-position is "; y 
 
End Sub 
 
Private Sub vsoWindow_MouseUp(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean) 
 
 If Button = 1 Then 
 
 Debug.Print "Left mouse button released" 
 
 ElseIf Button = 2 Then 
 
 Debug.Print "Right mouse button released" 
 
 ElseIf Button = 16 Then 
 
 Debug.Print "Center mouse button released" 
 
 End If 
 
End Sub

A continuación, inserte el código siguiente en el proyecto ThisDocument .

Dim myMouseListener As MouseListener 
 
Private Sub Document_DocumentSaved(ByVal doc As IVDocument) 
 
 Set myMouseListener = New MouseListener 
 
End Sub 
 
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument) 
 
 Set myMouseListener = Nothing 
 
End Sub

Guarde el documento para inicializar la clase y, a continuación, mueva el mouse brevemente en la ventana activa para desencadenar una serie de eventos MouseMove . En la ventana Inmediato, el controlador imprime una lista de pares de valores de posición X e Y, cada uno de los cuales corresponde a la posición del mouse cuando se desencadena un evento MouseMove .

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.