KeyboardEvent.KeyButtonState-Eigenschaft (Visio)
Gibt den Zustand von Maustasten und die UMSCHALT- und STRG-TASTE zurück, die einem Tastaturereignis zugeordnet sind. Schreibgeschützt.
Syntax
Ausdruck. KeyButtonState
Ausdruck Eine Variable, die ein KeyboardEvent-Objekt darstellt.
Rückgabewert
Long
Hinweise
Mögliche Werte für KeyButtonState können eine Kombination aus einem der in der folgenden Tabelle aufgeführten Werte sein, die in VisKeyButtonFlags in der Visio-Typbibliothek deklariert sind. Wenn KeyButtonState beispielsweise 9 zurückgibt, gibt dies an, dass der Benutzer beim Drücken von STRG auf die linke Maustaste geklickt hat.
Konstante | Wert |
---|---|
visKeyControl | 8 |
visKeyShift | 4 |
visMouseLeft | 1 |
visMouseMiddle | 16 |
visMouseRight | 2 |
Beispiel
Dieses Klassenmodul zeigt, wie eine Empfängerklasse mit der Bezeichnung KeyboardListener definiert wird, die von Tastaturaktionen im aktiven Fenster ausgelöste Ereignisse überwacht. Es deklariert die vsoWindow-Objektvariable unter Verwendung des Schlüsselworts WithEvents. Das Klassenmodul enthält außerdem einen Ereignishandler für die KeyDown-, KeyPress- und KeyUp-Ereignisse.
Fügen Sie zum Ausführen dieses Beispiels ein neues Klassenmodul in Ihr VBA-Projekt (Microsoft Visual Basic for Applications) ein, nennen Sie es KeyboardListener, und fügen Sie den folgenden Code in das Modul ein.
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
Fügen Sie dann den folgenden Code in das ThisDocument-Projekt ein.
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
Speichern Sie das Dokument, um die Klasse zu initialisieren, und drücken Sie dann eine beliebige Taste, um ein KeyDown-Ereignis auszulösen . Im Direktfenster gibt der Handler den Code der Taste aus, die gedrückt wurde, um das Ereignis auszulösen, sowie den Zustand der UMSCHALT- und STRG-Tasten zum Zeitpunkt des Auslösens des Ereignisses.
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.