Application. KeyDown-Ereignis (Visio)Application.KeyDown event (Visio)

Tritt ein, wenn eine Taste der Tastatur gedrückt wird.Occurs when a keyboard key is pressed.

SyntaxSyntax

Ausdruck. KeyDown (Keycode, KeyButtonState Eigenschafts, CancelDefault festlegen)expression.KeyDown (KeyCode, KeyButtonState, CancelDefault)

expression Eine Variable, die ein Application-Objekt darstellt.expression A variable that represents an Application object.

ParameterParameters

NameName Erforderlich/OptionalRequired/Optional DatentypData type BeschreibungDescription
KeyCodeKeyCode ErforderlichRequired LongLong Die Taste, die gedrückt wurde.The key that was pressed. Mögliche Werte werden in Keycode- Konstantendeklariert.Possible values are declared in Keycode constants.
KeyButtonStateKeyButtonState ErforderlichRequired LongLong Der Status der UMSCHALT-und STRG-Taste für das Ereignis.The state of the Shift and Ctrl keys for the event. Kann eine Kombination der in VisKeyButtonFlags deklarierten Werte sein.Can be a combination of the values declared in VisKeyButtonFlags. Wenn KeyButtonState Eigenschafts beispielsweise 12 zurückgibt, bedeutet dies, dass der Benutzer sowohl UMSCHALT als auch STRG gedrückt hält.For example, if KeyButtonState returns 12, it indicates that the user held down both Shift and Ctrl.
CancelDefault festlegenCancelDefault ErforderlichRequired BooleanBoolean False, wenn die Meldung von Microsoft Visio verarbeitet werden soll, die das Programm von diesem Ereignis empfängt, andernfalls True.False if Microsoft Visio should process the message it receives from this event; otherwise, True.

BemerkungenRemarks

Wenn Sie CancelDefault auf True festlegen, wird die empfangene Meldung beim Klicken mit der Maustaste nicht von Visio verarbeitet.If you set CancelDefault to True, Visio does not process the message received when the mouse button is clicked.

Im Gegensatz zu anderen Visio-Ereignissen verfügt KeyDown nicht über die Präfix Abfrage, ist aber dennoch ein Abfrageereignis.Unlike some other Visio events, KeyDown does not have the prefix Query, but it is still a query event. Das heißt, Sie können die Verarbeitung der von KeyDowngesendeten Nachricht abbrechen, indem Sie CancelDefault festlegen auf truefestlegen oder, wenn Sie die VisEventProc -Methode verwenden, um das Ereignis zu behandeln, indem Sie truezurückgeben.That is, you can cancel processing the message sent by KeyDown, either by setting CancelDefault to True, or, if you are using the VisEventProc method to handle the event, by returning True. Weitere Informationen finden Sie in den Themen für die VisEventProc -Methode und für alle Abfrage Ereignisse (beispielsweise das QueryCancelSuspend -Ereignis).For more information, see the topics for the VisEventProc method and for any of the query events (for example, the QueryCancelSuspend event).

Hinweis

Durch Drücken einer Tastenkombination (beispielsweise STRG + C) wird das KeyDown -Ereignis nicht ausgelöst.Pressing an accelerator key combination, for example, Ctrl+C, does not fire the KeyDown event.

Wenn Sie VBA verwenden, beschreibt die Syntax in diesem Thema eine gängige und effiziente Methode zum Verarbeiten von Ereignissen.If you are using VBA, the syntax in this topic describes a common, efficient way to handle events.

Wenn Sie eigene Event -Objekte erstellen möchten, verwenden Sie die Add - oder AddAdvise-Methode.If you want to create your own Event objects, use the Add or AddAdvise method.

Verwenden Sie zum Erstellen eines Event-Objekts, das ein Add-On ausführt, die Add-Methode der EventList-Auflistung.To create an Event object that runs an add-on, use the Add method as it applies to the EventList collection.

Verwenden Sie zum Erstellen eines Event-Objekts, das eine Benachrichtigung empfängt, die AddAdvise-Methode.To create an Event object that receives notification, use the AddAdvise method.

Informationen zum Suchen eines Ereigniscodes für das Ereignis, das Sie erstellen möchten, finden Sie unter Ereigniscodes.To find an event code for the event that you want to create, see Event codes.

BeispielExample

Dieses Klassenmodul zeigt, wie Sie eine Synchronisierungsklasse namens KeyboardListener definieren, die auf Ereignisse lauscht, die von Tastaturaktionen im aktiven Fenster ausgelöst werden.This class module shows how to define a sync class called KeyboardListener that listens for events fired by keyboard actions in the active window. Es deklariert die vsoWindow-Objektvariable unter Verwendung des Schlüsselworts WithEvents.It declares the object variable vsoWindow by using the WithEvents keyword. Das Klassenmodul enthält außerdem einen Ereignishandler für die KeyDown-, KeyPress- und KeyUp-Ereignisse.The class module also contains event handlers for the KeyDown, KeyPress, and KeyUp events.

Um dieses Beispiel auszuführen, fügen Sie ein neues Klassenmodul in das VBA-Projekt ein, nennen Sie es KeyboardListener, und fügen Sie den folgenden Code in das Modul ein.To run this example, insert a new class module in your VBA project, name it KeyboardListener, and insert the following code in the 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

Fügen Sie dann den folgenden Code in das ThisDocument -Projekt ein.Then, insert the following code in the ThisDocument project.

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.Save the document to initialize the class, and then press any key to fire a KeyDown event. Im Direktfenster druckt der Handler den Code des Schlüssels, der zum Auslösen des Ereignisses gedrückt wurde, sowie den Zustand der UMSCHALT-und STRG-Taste zu dem Zeitpunkt, zu dem das Ereignis ausgelöst wurde.In the Immediate window, the handler prints the code of the key that was pressed to fire the event and the state of the Shift and Ctrl keys at the time the event fired.

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.