Propriedade MouseEvent.KeyButtonState (Visio)
Retorna o estado dos botões do mouse e as teclas SHIFT e CTRL associadas a um evento de mouse. Somente leitura.
Sintaxe
expression. KeyButtonState
Expressão Uma variável que representa um objeto MouseEvent .
Valor de retorno
Long
Comentários
Os valores possíveis para KeyButtonState podem ser uma combinação de qualquer um dos valores mostrados na tabela a seguir, que são declarados em VisKeyButtonFlags na biblioteca de tipos do Visio. Por exemplo, se KeyButtonState retornar 9, ele indicará que o usuário clicou no botão esquerdo do mouse enquanto pressionava CTRL.
Constant | Valor |
---|---|
visKeyControl | 8 |
visKeyShift | 4 |
visMouseLeft | 1 |
visMouseMiddle | 16 |
visMouseRight | 2 |
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 um manipulador de eventos para o evento MouseDown que imprime para a janela Immediate o estado dos botões do mouse e as teclas CTRL e SHIFT quando o evento disparou.
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)
Debug.Print "KeyButtonState is"; KeyButtonState
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 clique em qualquer lugar na janela ativa (opcionalmente, enquanto pressiona SHIFT e/ou CTRL) para disparar um evento MouseDown . Na janela Immediate, o manipulador imprime o nome do botão do mouse clicado para disparar o evento. Se você pressionou uma ou ambas as teclas, o nome da tecla ou das teclas pressionadas também será impresso.
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.