Compartilhar via


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.