Normalerweise wird der Handler schon beim Erzeugen eines Elements
gesetzt. Mit dieser Funktion lässt sich dieser Handler umsetzen.
Das Setzen spezieller Handlers (siehe unten) muss immer über diese
Funktion erfolgen. Die Funktion heißt nicht SetHandler, sondern SetHandle.
Ein Handler ist die Azurfunktion, die aufgerufen wird, wenn ein AGElement
aktiviert wird. Aktivieren bedeutet z.B. Drücken eines Buttons oder einer
CheckBox oder Betätigen der mittleren Maustaste in einer Karte.
Es gibt eine Reihe spezieller Handlers, die nicht einem Element, sondern
einer Aktion zugeordnet sind:
- Der Handler des QuitButtons wird mit
SetHandle ("@quit", func) gesetzt. Die Funktion des
Fensterschließens an sich kann jedoch so nicht beeinflusst
werden.
- Der Handler, der aufgerufen wird, wenn der Focus einer AxBox
oder der Ausschnitt einer Karte sich ändert, wird mit
SetHandle ("@focuschange", func) gesetzt. Der Handler
erhält den aktuellen Ausschnitt der Axbox als Spezialparameter
Intervall Focus. Die betreffende AxBox
wird dem handler als Spezialparameter AxBox AktAx übergeben.
- Grafisches Editieren: Der Handler, der aufgerufen werden soll,
wenn der Benutzer in eine AxBox linksklickt, wird mit
SetHandle ("@editmode", func) gesetzt. Zur Funktionsweise
von editmode siehe SetEditMode().
- SetHandle ("@canvaschange", func) setzt den Handler, der
aufgerufen wird, wenn sich die Lage von AxBoxen auf dem Canvas
ändert oder die aktive AxBox wechselt. Die betreffende AxBox
wird dem handler als Spezialparameter AxBox AktAx übergeben.
- Der Handler, der aufgerufen werden soll, wenn der Benutzer die
Größe des Fensters ändert, wird mit
SetHandle ("@resize", func) gesetzt.
- Der Handler, der aufgerufen werden soll, wenn der Benutzer die
Selektion von Polygonen einer Karte ändert, wird mit
SetHandle ("@select", func) gesetzt.
- Der Handler, der aufgerufen werden soll, wenn der Benutzer mit
der Maus die GeoLegende (siehe SetGeoLegende()) verschoben
hat, wird mit SetHandle ("@maplegmoved", func) gesetzt.
Die linke, untere Position der Legende wird im Parameter
AktPoint übergeben.
- SetHandle ("@markerchange", func) setzt den Handler, der
aufgerufen wird, wenn sich ein Marker ändert.
- SetHandle ("@axclick", func) setzt den Handler, der
aufgerufen wird, wenn der Benutzer bei gedrückter Shifttaste die
linke Maustaste innerhalb einer AxBox drückt. Die betreffende
AxBox wird als AktAx übergeben, der X-Punkt heißt xclick und der
Y-Wert yclick.
- SetHandle ("@mousemove", func) setzt den Handler, der
aufgerufen wird, wenn der Benutzer, auch ohne gedrückte Maustaste,
die Maus auf dem Canvas bewegt. Die aktuelle AxBox wird als AktAx
übergeben, der X-Wert (Zeitpunkt oder Real) als String xp und der
Y-Wert als yw. Bei einem GeoCanvas wird stattdessen der aktuelle
Punkt als AktPoint und die Karte als AktMap übergeben.
Ein DBGrid (siehe NewDBGrid()) hat fünf verschiedene Handler. Sie
werden durch Voranstellen der Handlernamen unterschieden. Die Namen der
Handler sind Update, Updatefield, Select,
Selectfield und MarkingChange. Die ersten vier können auch
beim Aufbau des Grids mittels NewDBGrid() gesetzt werden. Der
MarkingChange-Handler kann jedoch nur mit SetHandle gesetzt werden. Er
wird aufgerufen, wenn der Benutzer Markierungen der Tupel an oder abschaltet
(blaue Felder ganz links).
SetHandle ("MyGrid", "Select=EineFunc") setzt
also den Handler, der beim Selektieren eines Tupels des DBGrids MyGrid
aufgerufen wird, auf EineFunc. Falls man den Handler löschen
möchte, gibt man an: SetHandle ("MyGrid", "Select=").
Soll ein Handler gelöscht werden, so wird er auf Leerstring gesetzt.
Siehe auch AddHandle() und RemoveHandle().