Propriedade KeyboardEvent.KeyButtonState (Visio)
Retorna o estado dos botões do mouse e as teclas SHIFT e CTRL associadas a um evento de teclado. Somente leitura.
Sintaxe
expression. KeyButtonState
Expressão Uma variável que representa um objeto KeyboardEvent .
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 KeyboardListener que escuta eventos disparados por ações do teclado 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 evento para os eventos KeyDown, KeyPress e KeyUp.
Para executar este exemplo, insira um novo módulo de classe no projeto do Microsoft Visual Basic for Applications (VBA), nomeie-o KeyboardListener 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_KeyDown(ByVal KeyCode As Long, ByVal KeyButtonState As Long, CancelDefault As Boolean)
Debug.Print "KeyCode is "; KeyCode
Debug.Print "KeyButtonState is" ; KeyButtonState
End Sub
Private Sub vsoWindow_KeyPress(ByVal KeyAscii As Long, CancelDefault As Boolean)
Debug.Print "KeyAscii value is "; KeyAscii
End Sub
Private Sub vsoWindow_KeyUp(ByVal KeyCode As Long, ByVal KeyButtonState As Long, CancelDefault As Boolean)
Debug.Print "KeyCode is "; KeyCode
Debug.Print "KeyButtonState is" ; KeyButtonState
End Sub
Em seguida, insira o código a seguir no projeto ThisDocument .
Dim myKeyboardListener As KeyboardListener
Private Sub Document_DocumentSaved(ByVal doc As IVDocument)
Set myKeyboardListener = New KeyboardListener
End Sub
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument)
Set myKeyboardListener = Nothing
End Sub
Salve o documento para inicializar a classe e pressione qualquer tecla para acionar um evento KeyDown. Na janela Immediate, o manipulador imprimirá o código da tecla pressionada para acionar o evento e o estado das teclas SHIFT e CTRL no momento em que o evento foi acionado.
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.