Compartilhar via


Propriedade KeyboardEvent.KeyButtonState (Visio)

Devolve o estado dos botões do rato 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 apresentados na tabela seguinte, que são declarados em VisKeyButtonFlags na biblioteca de tipos do Visio. Por exemplo, se KeyButtonState devolver 9, indica que o utilizador clicou no botão esquerdo do rato ao premir 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 microsoft Visual Basic for Applications (VBA), dê-lhe o nome KeyboardListener e insira o seguinte código 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 seguinte código 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.