Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.