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

Verursacht durch Aufrufen der QueueMarkerEvent -Methode.Caused by calling the QueueMarkerEvent method.

SyntaxSyntax

Ausdruck. MarkerEvent (App, SequenceNum, ContextType)expression.MarkerEvent (app, SequenceNum, ContextString)

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

ParameterParameters

NameName Erforderlich/OptionalRequired/Optional DatentypData type BeschreibungDescription
Appapp ErforderlichRequired [IVAPPLICATION][IVAPPLICATION] Die aktive Instanz von Microsoft Visio.The active instance of Microsoft Visio.
SequenceNumSequenceNum ErforderlichRequired LongLong Die Ordinalposition dieses Ereignisses in Bezug auf vergangene Ereignisse.The ordinal position of this event with respect to past events.
ContextTypeContextString ErforderlichRequired StringString Kontextzeichenfolge, die von der QueueMarkerEvent-Methode übergeben wird.Context string passed by the QueueMarkerEvent method.

BemerkungenRemarks

Im Unterschied zu anderen Ereignissen, die von Visio ausgelöst werden, wird das MarkerEvent-Ereignis von einem Clientprogramm ausgelöst.Unlike other events that Visio fires, the MarkerEvent event is fired by a client program. Ein Clientprogramm empfängt nur dann das MarkerEvent-Ereignis, wenn es die QueueMarkerEvent-Methode aufgerufen hat.A client program receives the MarkerEvent event only if the client program called the QueueMarkerEvent method.

Mithilfe des MarkerEvent-Ereignisses in Verbindung mit der QueueMarkerEvent-Methode kann ein Clientprogramm ein Ereignis in eine eigene Warteschlange leiten.By using the MarkerEvent event in conjunction with the QueueMarkerEvent method, a client program can queue an event to itself. Das Clientprogramm empfängt das MarkerEvent-Ereignis, nachdem Visio alle beim Aufruf von QueueMarkerEvent in seiner Ereigniswarteschlange vorhandenen Ereignisse ausgelöst hat.The client program receives the MarkerEvent event after Visio fires all the events present in its event queue at the time of the QueueMarkerEvent call.

Das MarkerEvent-Ereignis übergibt sowohl die Kontextzeichenfolge, die von der QueueMarkerEvent-Methode übergeben wurde, als auch die Sequenznummer des MarkerEvent-Ereignisses an den MarkerEvent-Ereignishandler.The MarkerEvent event passes both the context string that was passed by the QueueMarkerEvent method and the sequence number of the MarkerEvent event to the MarkerEvent event handler. Einer dieser Werte kann verwendet werden, um QueueMarkerEvent -Aufrufe mit MarkerEvent -Ereignissen zu korrelieren.Either of these values can be used to correlate QueueMarkerEvent calls with MarkerEvent events. Dadurch kann ein Clientprogramm selbst verursachte Ereignisse von anderen Ereignissen unterscheiden.In this way, a client program can distinguish events it caused from those it did not cause.

Angenommen, ein Clientprogramm, das die Werte von Visio-Zellen ändert, soll nur auf CellChanged-Ereignisse reagieren, die es selbst verursacht hat.For example, a client program that changes the values of Visio cells may only want to respond to the CellChanged events that it did not cause. Das Clientprogramm kann zunächst die QueueMarkerEvent -Methode aufrufen und eine Kontextzeichenfolge zur späteren Verwendung übergeben, um den Bereich der Verarbeitung zu Klammern.The client program can first call the QueueMarkerEvent method and pass a context string for later use to bracket the scope of its processing.

 
vsoObject.QueueMarkerEvent "ScopeStart" 
 <My program changes cells here> 
vsoObject.QueueMarkerEvent "ScopeEnd" 

Im MarkerEvent -Ereignishandler kann das Clientprogramm dann die Kontextzeichenfolge verwenden, die an die QueueMarkerEvent -Methode übergeben wurde, um die ausgelösten Cello -Ereignisse zu identifizieren.In the MarkerEvent event handler, the client program could then use the context string passed to the QueueMarkerEvent method to identify the CellChanged events that it caused.

 
Dim blsICausedCellChanges as Boolean 
 
Private Sub vsoObject_MarkerEvent (ByVal vsoApplication As Visio.IVApplication, _ 
 ByVal lngSequenceNum As Long, ByVal strContextString As String) 
 
 If strContextString = "ScopeStart" Then 
 blsICausedCellChanges = True 
 ElseIf strContextString = "ScopeEnd" Then 
 blsICausedCellChanges = "False" 
 End If 
 
End Sub 
 
Private Sub vsoObject_CellChanged (ByVal Cell As Visio.IVCell) 
 
 'Respond only if this client didn't cause a cell change. 
 If blsICausedCellChanges = False Then 
 <respond to the cell changes> 
 End If 
 
End Sub

Wenn Sie Microsoft Visual Basic oder Visual Basic für Applikationen (VBA) verwenden, beschreibt die Syntax in diesem Thema eine gängige und effiziente Methode zum Verarbeiten von Ereignissen.If you are using Microsoft Visual Basic or Visual Basic for Applications (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.

Wenn Sie dieses Ereignis von einem Programm aus verarbeiten, das eine Benachrichtigung empfängt, gehört das MarkerEvent -Ereignis zu einer Gruppe von Ereignissen, die zusätzliche Informationen in der EventInfo -Eigenschaft des Application -Objekts aufzeichnen.If you are handling this event from a program that receives a notification, the MarkerEvent event is one of a group of events that record extra information in the EventInfo property of the Application object.

Die EventInfo-Eigenschaft gibt ContextString zurück, wie oben beschrieben.The EventInfo property returns ContextString as described above. Das Argument varMoreInfo für VisEventProc ist leer.The varMoreInfo argument to VisEventProc will be empty.

BeispielExample

Im folgenden Beispiel wird gezeigt, wie ein Ereignis in der Ereigniswarteschlange mit dem MarkerEvent-Ereignis markiert wird.This example shows how to use the MarkerEvent event to mark an event in the event queue.

Fügen Sie diesen Beispielcode in das Fenster ThisDocument -Code ein, und führen Sie dann UseMarkeraus.Paste this example code into the ThisDocument code window and then run UseMarker. Die Ausgabe wird im Direktfenster angezeigt.The output is displayed in the Immediate window.

 
Dim WithEvents vsoApplication As Visio.Application 
 
Private Sub vsoApplication_MarkerEvent(ByVal app As Visio.IVApplication, _ 
 ByVal lngSequenceNum As Long, ByVal strContextString As String) 
 Debug.Print "Marker: " & app.EventInfo(0) 
 
End Sub 
 
Private Sub vsoApplication_ShapeAdded(ByVal vsoShape As Visio.IVShape) 
 Debug.Print " ShapeAdded: " & vsoShape.Name 
 
End Sub 
 
Public Sub UseMarker() 
 
 Set vsoApplication = ThisDocument.Application 
 
 'MarkerEvent events can be used to comment a segment 
 'of events in the queue. 
 vsoApplication.QueueMarkerEvent "I am starting..." 
 ActivePage.DrawRectangle 0, 0, 3, 3 
 vsoApplication.QueueMarkerEvent "I am finished..." 
 
End Sub

Das folgende Ergebnis wird im Direktfenster angezeigt:The output in the Immediate window looks like this:

Marker: I am starting...Marker: I am starting...

ShapeAdded: Sheet.1ShapeAdded: Sheet.1

Marker: I am finished...Marker: I am finished...

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.