Compartilhar via


Evento Application.KeyDown (Visio)

Ocorre quando uma tecla do teclado é pressionada.

Sintaxe

expressão. KeyDown (KeyCode, KeyButtonState, CancelDefault)

expressão Uma variável que representa um Aplicativo objeto.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
KeyCode Obrigatório Long A tecla que foi pressionada. Os valores possíveis são declarados em constantes de Código-chave.
KeyButtonState Obrigatório Long O estado das teclas Shift e Ctrl do evento. Pode ser uma combinação dos valores declarados em VisKeyButtonFlags. Por exemplo, se KeyButtonState devolver 12, significa que o utilizador manteve premida a tecla Shift e Ctrl.
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 processará a mensagem recebida quando o botão do mouse for clicado.

Ao contrário de outros eventos do Visio, o KeyDown não tem o prefixo Consulta, mas continua a ser um evento de consulta. Ou seja, pode cancelar o processamento da mensagem enviada por KeyDown ao definir CancelDefault comoVerdadeiro ou, se estiver a utilizar o método VisEventProc para processar o evento, ao devolver True. Para obter mais informações, veja os tópicos para o método VisEventProc e para qualquer um dos eventos de consulta (por exemplo, o evento QueryCancelSuspend ).

Observação

Premir uma combinação de teclas de atalho, por exemplo Ctrl+C, não aciona o evento KeyDown .

Se estiver usando o VBA, a sintaxe deste tópico descreverá uma maneira comum e eficiente de manipular eventos.

Se quiser criar os seus próprios objetos de Evento , utilize 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

Este módulo de classe mostra como definir uma classe de sincronização chamada KeyboardListener que escuta eventos acionados por ações de 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 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 Imediato, o processador imprime o código da tecla que foi premida 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.