Event.SetFilterCommands-Methode (Visio)
Gibt ein Array von Befehlsbereichen und den Wert True oder False an, um anzuzeigen, wie Ereignisse für jeden Befehlsbereich gefiltert werden sollen.
Syntax
Ausdruck. SetFilterCommands
( _Commands()_
)
Ausdruck Eine Variable, die ein Event-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
Commands() | Erforderlich | Long | Ein Array von Befehlsbereichen und der Wert True oder False, wodurch angegeben wird, wie Ereignisse für jeden Befehlsbereich gefiltert werden sollen. |
Rückgabewert
Nichts
Bemerkungen
Wenn ein Event-Objekt, das mit der AddAdvise-Methode erstellt wurde, der EventList-Auflistung eines Quellobjekts hinzugefügt wird, werden standardmäßig alle Vorkommen dieses Ereignisses an die Ereignissenke übergeben. Die SetFilterCommands-Methode stellt eine Möglichkeit dar, ausgewählte Ereignisse anhand der Befehls-ID zu ignorieren.
Der an SetFilterCommands übergebene Commands()-Parameter ist ein folgendermaßen definiertes Array:
Die Anzahl von Elementen in Commands() ist ein Vielfaches von 3:
Das erste Element enthält die Anfangsbefehls-ID des Bereichs (ein beliebiges Mitglied von VisUICmds).
Das zweite Element enthält die Endbefehls-ID des Bereichs (ein beliebiges Mitglied von VisUICmds).
Das dritte Element enthält den Wert True oder False, der anzeigt, ob Sie Ereignisse für diesen Befehlsbereich überwachen (True zum Überwachen der Ereignisse. False zum Ausschließen der Ereignisse).
Ein Ereignis muss die folgenden Kriterien erfüllen, damit es erfolgreich über einen Befehlsfilter übergeben wird:
Das Ereignis muss eine gültige Befehls-ID aufweisen.
Wenn alle Filter True sind, muss das Ereignis mindestens mit einem Filter übereinstimmen.
Wenn alle Filter False sind, muss das Ereignis mit keinem Filter übereinstimmen.
Wenn die Filter eine Mischung aus True und False sind, muss das Ereignis mit mindestens einem True-Filter und mit keinem False-Filter übereinstimmen.
Wenn das Array keine True-Bereiche enthält, werden die Ereignisse als True betrachtet.
Verwenden Sie beispielsweise folgende Anweisung, um ein Array einzurichten, das einen einzelnen Befehl blockiert:
Dim aFilterCommands(1 To (1 * 3)) As Long
'Ignore the layout command.
aFilterCommands(1) = visCmdLayoutDynamic
aFilterCommands(2) = visCmdLayoutDynamic
aFilterCommands(3) = False
Oder Sie richten folgendermaßen ein Array ein, das nur den Befehl Send to Back (In den Hintergrund) überwacht:
Dim aFilterCommands(1 To (3 * 3)) As Long
'Pay attention to the "Send to Back" command.
aFilterCommands(1) = visCmdObjectSendToBack
aFilterCommands(2) = visCmdObjectSendToBack
aFilterCommands(3) = True
'Ignore any command IDs before the "Send to Back" command.
aFilterCommands(4) = visCmdFirst
aFilterCommands(5) = visCmdObjectSendToBack - 1
aFilterCommands(6) = False
'Ignore any command IDs after the "Send to Back" command.
aFilterCommands(7) = visCmdObjectSendToBack + 1
aFilterCommands(8) = visCmdLast
aFilterCommands(9) = False
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.