Elemente-Ereignisse rufen Ereignis-Sprungmarken auf (falls vorhanden), in denen der Code für die Behandlung des Ereignisses steht, gefolgt von einem Beende Unterprogramm (Zurück)-Befehl.
Hinweis: Im Kontextmenü eines Befehls im Editor kann die Ereignismarke für das Standardereignis (üblicherweise _Klick) sowie alle verfügbaren Ereignisse automatisch angelegt bzw. angesteuert werden.
Die Ereignis-Sprungmarken beginnen mit ::Anzeige_ bzw. ::Anzeige(ID)_ und bezeichnen so das Anzeigefenster, in dem das Element enthalten ist. Danach folgt der Bezeichner Element oder auch in einigen Fällen der der Bezeichner des jeweiligen Elementetyps (z.B. ::Anzeige_RTF) für spezielle Ereignisse, wiederum optional gefolgt von der ID des Elements in Klammern. Nach einem weiteren Unterstrich folgt dann die Ereignisbezeichnung.
Ereignisse können also beispielsweise folgendermaßen aussehen:
::Anzeige(Fenster1)_Element(Button1)_Klick
Weitere Varianten finden Sie unten.
Neben den zum jeweiligen Elementetyp evtl. gehörenden Sonder-Ereignissen sind auch diverse allgemeine Ereignisse von Elementen möglich (jeweils beginnend mit ::Anzeige_Element - s.o.):
_Klick | Das Anzeige-Element X wurde angeklickt |
_Doppelklick | Auf das Element wurde ein Doppelklick ausgeführt |
_Gehalten | Erfolgt, wenn das Element länger gedrückt und gehalten wurde (es erfolgt dann kein Klick-Ereignis). Erfolgt nur, wenn zuvor eine Haltezeit >0 per [cX.Anzeige.Element.Haltezeit] definiert worden ist. |
_Aktiviert | Das Element wurde aktiviert |
_Deaktiviert | Ein anderes Element wurde aktiviert |
_Verändert | Ein Eingabe-Element wurde bearbeitet |
_Drag | Es werden Daten bei einer Drag+Drop-Aktion über das Element gezogen (siehe Drag&Drop) Hinweis: In diesem Ereignis darf keine Benutzer-Interaktion angefordert werden (etwa Meldung), da das Skript dann hängen kann. |
_Drop | Auf dem Element wurde ein Drag+Drop-Ereignis beendet (Ein Element wurde "fallen gelassen") |
_Mausbewegung | Die Maus wird über dem Element bewegt (Mausinformationen unter [.Element().MausXXX]) |
_MausHover | Die Maus blieb über dem Element unbewegt |
_Mausrad | Das Mausrad wurde über dem Element gedreht |
_Taste | Ein Tastendruck ist erfolgt (Tasteninformationen unter [.Element().TasteXXX]) |
_Taste(X) | Ein Tastendruck mit dem angegebenen Tastencode ist erfolgt Hinweis: Einige Sondertasten werden hier nicht gemeldet, sondern nur in _Taste_oben bzw. _unten |
_Taste_unten | Eine Taste wurde gedrückt |
_Taste_oben | Eine Taste wurde losgelassen |
Hinweis: Wird in einem Tastaturereignis eine 1 als Rückgabewert gesetzt, wird das Ereignis nicht weiter behandelt (etwa das gedrückte Zeichen in einem Eingabefeld nicht eingetragen)
Hinweis: Ist in dem Fenster ein Button mit der Eigenschaft "Vorgabe" oder "Abbruch" markiert, kann nicht anders auf die Eingabe- bzw. Escape-Taste reagiert werden.
_Taste_unten(X) und |
_Taste_oben(X) | Die Taste mit dem angegebenen Code wurde gedrückt bzw. losgelassen Hinweis: Für X kann außer Tastencodes auch (für häufig verwendete Sondertasten und bessere Lesbarkeit) stehen: Escape, Return (Eingabetaste), F1..F12 (Funktionstaste), Left, Right, Up, Down (Pfeiltasten), Insert, Delete, Home, End, PageUp, PageDown Siehe auch cX.TastenName |
_Validieren | Tritt auf, wenn das Element validiert (geprüft) werden soll, da es verändert wurde und den Fokus verloren hat |
_Verändert | Tritt auf, wenn der Textinhalt bzw. Wert des Elements verändert wurde |
Alle Elemente außer Schieber und Kombinations-Listen:
_MausEintritt | Die Maus berührt das (aktive) Element |
_MausAustritt | Die Maus verlässt das (aktive) Element |
_Maustaste_Unten | Es ist eine Maustaste gedrückt worden (Taste in [.Element().MausTaste]) |
_Maustaste_Oben | Es ist eine Maustaste losgelassen worden Bei beiden wird die Variante mit (2) nur bei der rechten Maustaste angesprungen (rechts=2; analog bei 1=links oder 3=Rad), also etwa :Anzeige(Fenster1)_Element(Button1)_Maustaste_unten(2) |
Die Maus- und Tastaturereignisse können auch speziischer angegeben werden, etwa ::Anzeige_Element(X)_Taste(27) für das Drücken der Escape-Taste (Tastencode 27) oder ::Anzeige_Element(X)_Maustaste_Unten(2) für die rechte Maustaste.
Bei Ereignissen des Elements werden verschiedene Ereignis-Unterprogramme der Reihe nach gesucht. Erst wenn eines der unten aufgelisteten Unterprogramme existiert, wird dieses ausgeführt und die Suche beendet.
Die ID kann dabei auch mit Wildcards (* oder ?) angegeben werden (z.B. ::Anzeige(*)_Element), wodurch das Ereignis für mehrere Elemente aufgerufen wird (Sammelereignis).
Reihenfolge der Aufrufe (Marken mit einer ID-Angabe sind nur relevant, wenn für das Fenster und/oder das Element eine ID vergeben wurde):
::Anzeige(ID)_Element(ID)_Ereignis
::Anzeige(ID)_Element_Ereignis
::Anzeige(ID)_Element
::Anzeige_Element(ID)_Ereignis
::Anzeige_Element_Ereignis
::Anzeige_Element
::Element(ID)_Ereignis
::Element_Ereignis
(für Ereignis steht der jeweilige Ereignisname, etwa Element_Klick)
Hinweis: Aus Gründen der Kompatibilität ist auch noch die in Vorgängerversionen verwendete Schreibweise ::Anzeige_Element_ID_Ereignis möglich, jedoch sollte diese nicht verwendet werden.
cX-Webseite: http://www.clickexe.net