KeyboardEvent.ToString-Eigenschaft (Visio)

Gibt eine Zeichenfolge zurück, die die Eigenschaft eines KeyboardEvent- oder MouseEvent-Objekts darstellt. Schreibgeschützt.

Syntax

Ausdruck. ToString

Ausdruck Eine Variable, die ein KeyboardEvent-Objekt darstellt.

Rückgabewert

Zeichenfolge

HinwBemerkungeneise

ToString ist die standardmäßige Eigenschaft sowohl des KeyboardEvent- als auch des MouseEvent-Objekts.

Wenn eines der Ereignisse KeyDown, KeyPress oder KeyUp ausgelöst wird, wird von der ToString-Eigenschaft eine Zeichenfolge zurückgegeben, durch die die Eigenschaften des KeyboardEvent-Objekts dargestellt werden, das an VisEventProc weitergegeben wird. Die Zeichenfolge hat die folgende Form:

Ereigniscode ; KeyCode-Eigenschaftswert ; KeyButtonState-Eigenschaftswert ; KeyAscii-Eigenschaftswert ; Window.Caption

Wobei event code den Code des ausgelösten Ereignisses zurückgibt und Window.Caption die Beschriftung des Fensters, das die Quelle des Ereignisses ist. Wenn ein Benutzer beispielsweise die Taste "L" gedrückt hat, während er die UMSCHALTTASTE gedrückt hält, kann ToString als Reaktion auf das KeyPress-Ereignis zurückgeben.

713;0;4;76;Zeichnung1

Wenn ein MouseDown-, MouseMove- oder MouseUp-Ereignis ausgelöst wird, gibt die ToString-Eigenschaft eine Zeichenfolge zurück, die die Eigenschaften des MouseEvent-Objekts darstellt, das an VisEventProc übergeben wird. Die Zeichenfolge hat die folgende Form:

Ereigniscode ; Wert der Schaltflächeneigenschaft ; KeyButtonState-Eigenschaftswert ; x-Eigenschaftswert ; y-Eigenschaftswert ; Window.Caption

Wobei event code den Code des ausgelösten Ereignisses zurückgibt und Window.Caption die Beschriftung des Fensters, das die Quelle des Ereignisses ist. Wenn ein Benutzer beispielsweise auf die linke Maustaste in der Mitte des Zeichenblatts geklickt hat, während er die UMSCHALTTASTE gedrückt hält, kann ToString als Reaktion auf das MouseDown-Ereignis zurückgeben.

709;1;5;4,3750003+000;4,265000+000;Zeichnung1

Weitere Informationen zu den möglichen Werten, die von den einzelnen Eigenschaften zurückgegeben werden, die durch die von ToString zurückgegebene Zeichenfolge dargestellt werden, finden Sie in den entsprechenden Eigenschaftenthemen in dieser Referenz.

Beispiel

Das folgende Beispiel für VBA (Microsoft Visual Basic für Applikationen) veranschaulicht, wie mithilfe der AddAdvise-Methode ein Event-Objekts erstellt wird, von dem möglicherweise ein MouseDown-Ereignis aufgefangen wird. Es verwendet die ToString-Eigenschaft des MouseEvent-Objekts zum Berichten der Details des ausgelösten Ereignisses.

Das Beispiel enthält ein Klassenmodul und zwei öffentliche Prozeduren, die in das ThisDocument-Projekt des aktiven Visio-Dokuments eingefügt werden:

  • Von der CreateEventObject-Prozedur wird eine Instanz einer Sink-Objektklasse (Ereignishandling) mit der Bezeichnung clsEventSink erstellt, die an die AddAdvise-Methode weitergegeben wird, und die Benachrichtigungen über Ereignisse empfängt. Außerdem wird von der Prozedur ein Event-Objekt zum Senden von Benachrichtigungen über das Auslösen des MouseDown-Ereignisses erstellt, dessen Quelle das Application-Objekt für das Sink-Objekt ist.

  • Die DeleteEventObject-Prozedur löscht dieses Event-Objekt , wenn ihr Programm die Verwendung abgeschlossen hat.

Die clsEventSink-Klasse implementiert die IVisEventProc-Schnittstelle. Das Klassenmodul erstellt eine Klasse zum Verarbeiten von Ereignissen, die vom Application-Objekt von Visio ausgelöst wurden. Das Modul besteht aus der VisEventProc-Funktion, von der ein Select Case-Block zum Überprüfen auf das MouseDown-Ereignis verwendet wird. Wenn ein MouseDown-Ereignis ausgelöst wird, wird ein MouseEvent-Objekt von Visio an VisEventProc als pSubjectObj weitergegeben. Dann wird von der Funktion eine Meldung erstellt, die die Zeichenfolge anzeigt, die von der ToString-Eigenschaft des MouseEvent-Objekts zurückgegeben wird, das an die Funktion weitergegeben wurde.

Andere Ereignisse fallen unter den Standardfall (Case Else). Der Case Else-Block erstellt eine Zeichenfolge ( strMessage ), die den Namen und den Ereigniscode des ausgelösten Ereignisses enthält. Schließlich wird die Zeichenfolge von der Funktion im Direktfenster angezeigt.

In diesem Beispiel wird davon ausgegangen, dass ein aktives Dokument im Visio-Anwendungsfenster vorhanden ist. Kopieren Sie im Visual Basic-Editor den folgenden Code in das Projekt ThisDocument:

Option Explicit 
 
Private mEventSink As clsEventSink 
 
'Declare visEvtAdd as a 2-byte value 
'to avoid a run-time overflow error 
Private Const visEvtAdd% = &H8000 
 
Public Sub CreateMouseDownEventObject() 
 
 Dim vsoApplicationEvents As Visio.EventList 
 Dim vsoMouseDownEvent As Visio.Event 
 
 'Create an instance of the clsEventSink class 
 'to pass to the AddAdvise method. 
 Set mEventSink = New clsEventSink 
 
 'Get the EventList collection of the application 
 Set vsoApplicationEvents = Application.EventList 
 
 'Add an Event object for the MouseDown event 
 'that will send notifications. 
 Set vsoMouseDownEvent= vsoApplicationEvents.AddAdvise( _ 
 visEvtCodeMouseDown, mEventSink, "", "Mouse down...") 
 
End Sub 
 
Public Sub DeleteMouseDownEventObject() 
 
 'Delete the Event object for the MouseDown event 
 vsoMouseDownEvent.Delete 
 Set vsoMouseDownEvent = Nothing 
 
End Sub

Kopieren Sie den folgenden Code in ein neues Klassenmodul in VBA, benennen Sie das Modul mit clsEventSink.

Implements Visio.IVisEventProc 
 
Private Function IVisEventProc_VisEventProc( _ 
 ByVal nEventCode As Integer, _ 
 ByVal pSourceObj As Object, _ 
 ByVal nEventID As Long, _ 
 ByVal nEventSeqNum As Long, _ 
 ByVal pSubjectObj As Object, _ 
 ByVal vMoreInfo As Variant) As Variant 
 
 Dim strMessage As String 
 Dim vsoMouseDownEvent As Visio.MouseEvent 
 
 'Find out which event fired 
 Select Case nEventCode 
 Case visEvtCodeMouseDown 
 Set vsoMouseEvent = pSubjectObj 
 strMessage = "ToString is: " & vsoMouseEvent.ToString 
 Case Else 
 strMessage = "Other (" & nEventCode & ")" 
 End Select 
 
 'Display the event name and the event code 
 Debug.Print strMessage 
 
End Function

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.