Partager via


Événement Windows.KeyDown (Visio)

Cet événement se produit lors de la pression d’une touche du clavier.

Syntaxe

expression. KeyDown (KeyCode, KeyButtonState, CancelDefault)

Expression Variable qui représente un objet Windows .

Parameters

Nom Requis/Facultatif Type de données Description
KeyCode Obligatoire Long Touche sur laquelle vous avez appuyé. Les valeurs possibles sont déclarées dans les constantes keycode.
KeyButtonState Obligatoire Long État des touches Maj et Ctrl de l’événement. Il peut s’agir d’une combinaison des valeurs déclarées dans VisKeyButtonFlags. Par exemple, si KeyButtonState renvoie la valeur 12, cela indique que l’utilisateur a maintenu la touche Maj et Ctrl enfoncée.
CancelDefault Requis Boolean False si Microsoft Visio doit traiter le message reçu à partir de cet événement. True dans tous les autres cas.

Remarques

Si vous affectez à AnnulerDéfaut la valeur True, Visio ne traite pas le message reçu lorsque vous cliquez sur le bouton de la souris.

Contrairement à d’autres événements Visio, KeyDown n’a pas le préfixe Query, mais il s’agit néanmoins d’un événement de requête. Autrement dit, vous pouvez annuler le traitement du message envoyé par KeyDown, soit en définissant CancelDefault sur True, soit, si vous utilisez la méthode VisEventProc pour gérer l’événement, en retournant True. Pour plus d'informations, reportez-vous aux rubriques relatives à la méthode VisEventProc et à tous les événements de requête (par exemple, l'événement QueryCancelSuspend) dans la présente référence.

Remarque

Le fait d’appuyer sur une combinaison de touches d’accélérateur, par exemple Ctrl+C, ne déclenche pas l’événement KeyDown .

Si vous utilisez VBA, la syntaxe présentée dans cette rubrique décrit un moyen générique et efficace pour gérer les événements.

Si vous souhaitez créer vos propres objets Event , utilisez la méthode Add ou AddAdvise .

Pour créer un objet Event qui exécute un module complémentaire, utilisez la méthode Add applicable à la collection EventList.

Pour créer un objet Event qui reçoit des notifications, utilisez la méthode AddAdvise.

Pour rechercher le code de l’événement à créer, voir Codes d’événement.

Exemple

Ce module de classe indique comment définir une classe récepteur appelée KeyboardListener à l'écoute des événements déclenchés par des actions de clavier dans la fenêtre active. Il déclare la variable objet vsoWindow à l'aide du mot clé WithEvents. Le module de classe contient également des gestionnaires d'événements pour KeyDown, KeyPress et KeyUp.

Pour exécuter cet exemple, insérez un nouveau module de classe dans votre projet VBA, nommez-le KeyboardListener et insérez le code suivant dans le module.

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

Ensuite, insérez le code suivant dans le projet 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

Enregistrez le document pour initialiser la classe, puis cliquez sur n’importe quelle touche pour déclencher l’événement KeyDown. Dans la fenêtre Exécution, le gestionnaire imprime le code de la touche enfoncée pour déclencher l’événement et l’état des touches Maj et Ctrl au moment du déclenchement de l’événement.

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.