WINGEN [:name:] BUTTON=winattr, string { ,CLOSE | ,PROCn | ,PROCint-var | ,INPUT='file' [(params)]} [,DEFAULT | ,CANCEL], [,UPDATE] , retcode
Mit diesem Kommando wird eine Schaltfläche definiert. Bei einem Klick mit der Maus auf diese Schaltfläche wird entweder das Fenster geschlossen oder eine EDT-Prozedur ausgeführt.
string Beschriftung des Buttons.
UPDATE Wird der Parameter angegeben, so werden beim Drücken des Buttons alle Referenzvariablen der Dialogbox mit den Werten der Felder versorgt.
CLOSEDas WINGEN-Fenster wird geschlossen und das Kommando nach WINGEN OUT ausgeführt.
PROCnDie EDT-Prozedur in Ebene n wird mit dem EDT-Kommando DO aufgerufen.
PROCint-varDie EDT-Prozedur in int-var wird mit dem EDT-Kommando DO aufgerufen.
INPUT='file'Die EDT-Prozedur file wird mit dem EDT-Kommando INPUT aufgerufen.
Die Prozedur kann durch Versorgung eines Rückgabewertes in der Integer-Variablen #I99 den weiteren Ablauf wie folgt beeinflussen:
#I99=0 Das Fenster wird nicht neu aufgebaut.
#I99=-1 Das Fenster wird mit den Daten aus den Referenzvariablen neu aufgebaut.
#I99> 0 Das Fenster wird geschlossen und nach dem Kommando WINGEN OUT fortgefahren. Die Integer-Variable #I99 behält diesen Wert.
DEFAULT Diese Schaltfläche wird als Default-Button erklärt. Dieser Button wird auch bei Drücken der Eingabetaste (Enter) und bei einem Fenster mit der Option WAIT nach Zeitablauf ausgelöst. Es darf nur ein Button pro Fenster mit dieser Eigenschaft versehen werden.
CANCEL Diese Schaltfläche wird als Cancel-Button erklärt. Das Schließen des Fensters mit dem Close-Icon rechts oben in der Titelzeile oder Drücken der Taste ESCAPE löst die hinter diesem Button stehende Aktion aus. Es darf nur ein Button pro Fenster mit der dieser Eigenschaft versehen werden.
Existiert kein Button mit dieser Eigenschaft, so wird bei Eintreffen von ESCAPE oder dem Close-Icon das Fenster geschlossen, es erfolgt keine Übernahme der Referenzvariablen. In die Variable #I99 wird der Wert 2 geladen.
retcode Vor dem Aufruf der Prozedur bzw. nach dem Schließen des Fensters wird in die Integer-Variable #I99 der Wert retcode geladen. Damit kann für mehrere Schaltflächen dieselbe Prozedur aufgerufen werden. Anhand des Übergabecodes ist feststellbar, welche Schaltfläche gedrückt wurde.
Beispiele:
wingen :can: button=(100,10,30,12),'Abbruch',close,cancel,2
Es wird ein Button definiert, der mit dem Wert "Abbruch" beschriftet ist. Bei Drücken dieses Buttons wird das Fenster geschlossen und nach dem Kommando WINGEN OUT fortgefahren. Die Daten in den Feldern des Fensters werden nicht in die Referenzvariablen übernommen. Die Integer-Variable #I99 wird mit dem Wert 2 versorgt. Das Schließen des Fensters mit dem Close-Icon rechts oben in der Titelzeile oder Drücken der Taste ESCAPE löst ebenfalls die hinter diesem Button stehende Aktion aus.
.
@wingen :ok:button=(100,10,30,12),'OK',close,update,11
Es wird ein Button definiert, der mit dem Wert 'OK' beschriftet ist. Bei Drücken dieses Buttons wird das Fenster geschlossen und nach dem Kommando WINGEN OUT fortgefahren. Die Daten in den Feldern des Fensters werden in die Referenzvariablen übernommen. Die Integer-Variable #I99 wird mit dem Wert 11 versorgt.
@ wingen :ok:button=(100,10,30,12),'OK',proc1,update,default,11
Es wird ein Button definiert, der mit dem Wert 'OK' beschriftet ist. Bei Drücken dieses Buttons wird das Kommando DO 1 aufgerufen. Vor Aufruf der Prozedur werden die Daten aus den Feldern in die Referenzvariablen übernommen. Die Integer-Variable #I99 wird mit dem Wert 11 versorgt. Der Button wird auch durch Drücken der Eingabetaste ausgelöst.