Evento Application.MouseMove (Visio)
Ocorre quando o mouse é movido.
Sintaxe
expressão. MouseMove (Botão, KeyButtonState, x, y, CancelDefault)
expressão Uma variável que representa um Aplicativo objeto.
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
Button | Obrigatório | Long | O botão do mouse que foi clicado. Os valores possíveis são declarados em VisKeyButtonFlags. |
KeyButtonState | Obrigatório | Long | O estado dos botões do mouse e as teclas Shift e Ctrl para o evento. Os valores possíveis podem ser uma combinação dos valores declarados em VisKeyButtonFlags. Por exemplo, se KeyButtonState retornar 9, ele indicará que o usuário clicou no botão esquerdo do mouse enquanto pressionava Ctrl. |
x | Obrigatório | Double | A coordenada x do ponteiro do mouse. |
y | Obrigatório | Double | A coordenada y do ponteiro do mouse. |
CancelDefault | Obrigatório | Boolean | False se o Microsoft Visio deve processar a mensagem que recebe desse evento; caso contrário, True. |
Comentários
Se você definiu CancelDefault como True, o Visio não irá processar a mensagem recebida quando o botão do mouse for clicado.
Ao contrário de alguns outros eventos do Visio, o MouseMove não tem o prefixo Query, mas, no entanto, é um evento de consulta. Ou seja, você pode cancelar o processamento da mensagem enviada pelo MouseMove, definindo CancelDefault como True ou, se estiver usando o método VisEventProc para lidar com o evento, retornando True. Para obter mais informações, consulte os tópicos do método VisEventProc e de quaisquer dos eventos de consulta (por exemplo, o evento QueryCancelSuspend) nesta referência.
Se estiver usando o Microsoft Visual Basic ou o Visual Basic for Applications (VBA), a sintaxe deste tópico descreverá uma maneira comum e eficiente de lidar com eventos.
Se você quiser criar seus próprios objetos Event , use o método Add ou AddAdvise .
Para criar um objeto Event que execute um complemento, use o método Add, uma vez que ele aplica-se à coleção EventList.
Para criar um objeto Event que receba notificação, use o método AddAdvise.
Para localizar um código de evento que você deseja criar, consulte Códigos de eventos.
Exemplo
Esse módulo de classe mostra como definir uma classe de coletor chamada MouseListener que escuta eventos disparados por ações do mouse na janela ativa. Ele declara a variável do objeto vsoWindow usando a palavra-chave WithEvents. O módulo de classe também contém manipuladores de eventos para os eventos MouseDown, MouseMove e MouseUp .
Para executar este exemplo, insira um novo módulo de classe em seu projeto VBA, nomeie-o MouseListener e insira o código a seguir no 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
Em seguida, insira o código a seguir no projeto 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
Salve o documento para inicializar a classe e mova o mouse brevemente na janela ativa para disparar uma série de eventos MouseMove. Na janela Immediate, o manipulador imprime uma lista de pares de valores de posição x e y, sendo que cada um corresponde à posição do mouse quando um evento MouseMove foi disparado.
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.