Propriété KeyboardEvent.KeyButtonState (Visio)
Retourne l’état des boutons de la souris et des touches Maj et Ctrl associées à un événement de clavier. En lecture seule.
Syntaxe
expression. KeyButtonState
Expression Variable qui représente un objet KeyboardEvent .
Valeur renvoyée
Entier long
Remarques
Les valeurs possibles pour KeyButtonState peuvent être une combinaison de l’une des valeurs affichées dans le tableau suivant, qui sont déclarées dans VisKeyButtonFlags dans la bibliothèque de types Visio. Par exemple, si KeyButtonState renvoie la valeur 9, cela indique que l’utilisateur a cliqué sur le bouton gauche de la souris tout en appuyant sur Ctrl.
Constante | Valeur |
---|---|
visKeyControl | 8 |
visKeyShift | 4 |
visMouseLeft | 1 |
visMouseMiddle | 16 |
visMouseRight | 2 |
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 Microsoft Visual Basic pour Applications (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 affiche le code de la touche sur laquelle vous avez appuyé 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.