Freigeben über


Application.KeyDown-Ereignis (Visio)

Tritt ein, wenn eine Taste der Tastatur gedrückt wird.

Syntax

Ausdruck. KeyDown (KeyCode, KeyButtonState, CancelDefault)

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
KeyCode Erforderlich Long Die Taste, die gedrückt wurde. Mögliche Werte werden in Keycode-Konstanten deklariert.
KeyButtonState Erforderlich Long Der Zustand der UMSCHALT- und STRG-TASTEN für das Ereignis. Kann eine Kombination der in VisKeyButtonFlags deklarierten Werte sein. Wenn KeyButtonState beispielsweise 12 zurückgibt, gibt dies an, dass der Benutzer die UMSCHALT- und STRG-TASTE gedrückt gehalten hat.
CancelDefault Erforderlich Boolean False, wenn die Meldung von Microsoft Visio verarbeitet werden soll, die das Programm von diesem Ereignis empfängt, andernfalls True.

Hinweise

Wenn Sie CancelDefault auf True festlegen, wird die empfangene Meldung beim Klicken mit der Maustaste nicht von Visio verarbeitet.

Im Gegensatz zu einigen anderen Visio-Ereignissen verfügt KeyDown nicht über das Präfix Query, ist aber immer noch ein Abfrageereignis. Das heißt, Sie können die Verarbeitung der von KeyDown gesendeten Nachricht abbrechen, indem Sie CancelDefault auf True festlegen oder, wenn Sie die VisEventProc-Methode zum Behandeln des Ereignisses verwenden, indem Sie True zurückgeben. Weitere Informationen finden Sie in den Themen für die VisEventProc-Methode und für alle Abfrageereignisse (z. B. das QueryCancelSuspend-Ereignis ).

Hinweis

Wenn Sie eine Tastenkombination drücken, z. B. STRG+C, wird das KeyDown-Ereignis nicht ausgelöst.

Wenn Sie VBA verwenden, beschreibt die Syntax in diesem Thema eine gängige und effiziente Methode zum Verarbeiten von Ereignissen.

Wenn Sie eigene Event-Objekte erstellen möchten, verwenden Sie die Add- oder AddAdvise-Methode .

Verwenden Sie zum Erstellen eines Event-Objekts, das ein Add-On ausführt, die Add-Methode der EventList-Auflistung.

Verwenden Sie zum Erstellen eines Event-Objekts, das eine Benachrichtigung empfängt, die AddAdvise-Methode.

Informationen zum Suchen eines Ereigniscodes für das Ereignis, das Sie erstellen möchten, finden Sie unter Ereigniscodes.

Beispiel

Dieses Klassenmodul zeigt, wie Sie eine Synchronisierungsklasse namens KeyboardListener definieren, die auf Ereignisse lauscht, die von Tastaturaktionen im aktiven Fenster ausgelöst werden. 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 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.