Evento Window.KeyDown (Visio)
Ocorre quando uma tecla do teclado é pressionada.
Sintaxe
expressão. KeyDown (KeyCode, KeyButtonState, CancelDefault)
Expressão Uma variável que representa um objeto Window .
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 keycode. |
KeyButtonState | Obrigatório | Long | O estado das chaves Shift e Ctrl para o evento. Pode ser uma combinação dos valores declarados em VisKeyButtonFlags. Por exemplo, se KeyButtonState retornar 12, ele indicará que o usuário segurou o Shift e o 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 alguns outros eventos do Visio, KeyDown não tem o prefixo Query, mas ainda é um evento de consulta. Ou seja, você pode cancelar o processamento da mensagem enviada pelo KeyDown, definindo CancelDefault como True ou, se estiver usando o método VisEventProc para lidar com o evento, retornando True. Para obter mais informações, consulte os tópicos do método VisEventProc e de quaisquer dos eventos de consulta (por exemplo, o evento QueryCancelSuspend) nesta referência.
Observação
Pressionar uma combinação de chave de acelerador, por exemplo, Ctrl+C, não dispara o evento KeyDown .
Se estiver usando o VBA, a sintaxe deste tópico descreverá uma maneira comum e eficiente de manipular eventos.
Se você quiser criar seus próprios objetos Event , use 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
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 em seu projeto 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 Imediato, o manipulador imprime o código da chave que foi pressionada para disparar o evento e o estado das teclas Shift e Ctrl no momento em que o evento foi disparado.
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.