Zum Hauptinhalt springen

WinEvtProcessSet

WinEvtProcessSet(int1, logic2, [int2]) : logic

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von der DLL-Schnittstelle mit grafischer Erweiterung Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service mit grafischer Erweiterung

Aktivieren oder Deaktivieren eines globalen Ereignisses oder eines Oberflächenobjektes

Details

Mit diesem Befehl kann die Verarbeitung eines Ereignisses oder aller Ereignisse unterdrückt werden. Optional kann diese Einstellung für ein bestimmtes Oberflächenobjekts gesetzt werden. In (int1) wird das Ereignis übergeben. Wird in (logic2) false übergeben, wird dieses Ereignis bei allen Objekten nicht mehr ausgelöst. Wird in (int2) ein Oberflächenobjekt übergeben, wird nur für dieses Objekt den Wert gesetzt.

Das Ereignis wird erst dann wieder ausgelöst, wenn es mit (logic2) = true wieder aktiviert wird. Es ist zu beachten, das globale Setzen der Einstellung hat Vorrang und wirkt sich auf alle Oberflächenobjekten aus.

Folgende Konstanten können in (int1) angegeben werden:

Sollen alle Ereignisse aktiviert oder deaktiviert werden, kann die Konstante _WinEvtAll verwendet werden.

Der Rückgabewert enthält den vorhergehenden Aktivierungszustand. Ob ein Ereignis aktiviert oder deaktiviert ist, kann mit dem Befehl WinEvtProcessGet () ermittelt werden.

info

Ereignisse, die nur dann aufgerufen werden, wenn ein anderes Ereignis einen bestimmten Wert zurück gibt (zum Beispiel EvtFocusCancel ), werden durch die Deaktivierung ebenfalls nicht mehr ausgeführt.

Beispiele:

// Keine Ereignisse mehr auslösen
WinEvtProcessSet(_WinEvtAll, false);

// Alle Ereignisse wieder aktivieren
WinEvtProcessSet(_WinEvtAll, true);

// Das Ereignis beim Verlassen des Fokus bei einem Objekt nicht mehr auslösen
// (EvtFocusCancel wird ebenfalls nicht mehr ausgelöst)
WinEvtProcessSet(_WinEvtFocusTerm, false);

// Das Click-Ereignis eines Buttons wird deaktiviert
WinEvtProcessSet(_WinEvtFocusTerm, false, $Button1);