Textfenster

Um ein Textfenster zu öffnen, gibt es den Befehl Twin_Open:

Twin_Open(R Handle, X, Y, W, H [, VirtW, VirtH ], Name$)
oder
Twin_Open(R Handle, X, Y, W, H, VirtW, VirtH, Name$, Info$ [, Elemente])

Handle enthält nach dem Aufruf das Fensterhandle. In X, Y, W, H werden die Koordinaten des Fensters, sowie die Breite und Höhe übergeben. Sind Breite und Höhe negativ, beziehen sie sich auf die Zeichenbreite und -höhe, also z.B. 30 Zeichen Breit und 5 Zeilen hoch. VirtW und VirtH geben die virtuelle Größe des Fensters an, die im Gegensatz zur realen Größe in W und H steht. So ist es möglich auch Textfenster zu verwalten, die größer sind als der Bildschirm.
Inhalt erhält das Textfenster durch Twin_Print(Handle [[,Zeile, Spalte], Txt$]). Hier kann Zeile und Spalte des auszugebenden Textes Txt$ angegeben werden. Twin_Print gibt im Gegensatz zu Twin_Print_ mit identischen Parametern immer einen Zeilenvorschub aus. Twin_Cls(Handle) dient zum Löschen des Fensterinhalts, auch hierzu ein kurzes Beispiel:

' Fenster Test öffnen: 30 Zeichen breit, 8 Zeilen hoch (virtuell: 35 Zeichen breit, 20 Zeilen hoch) Twin_Open(Test, 0, 20, -30, -8, 35, 20, "Textfenster", "Infozeile")' 10 Testzeiln ausgeben FOR I=1 TO 10
Twin_Print(Test, "Dies ist Zeile"+STR$(I))
NEXT I
REPEAT
' Auf GEM-Ereignis warten
Easy_Mesag(0, Buf$)
' Fensterereignisse behandeln
Win_Domessages(Buf$)
UNTIL FN Win_Closed(Test) ' Falls Fenster Test geschlossen wurde -> Schleife verlassen

In dem Beispiel sehen sie auch einen neuen Befehl zur Ereignisbehandlung, der eingesetzt werden muß, wenn Sie mit Fenstern arbeiten: Easy_Mesag. Da Ihnen die EasyGEM Library die Arbeit bei der Fensterverwaltung abnimmt, übergeben Sie das eingetroffene Ereignis mit Win_Domessages an die Library. Die Schleife im Beispielprogramm wird verlassen, wenn das Fenster "Test" geschlossen wurde. Mit der Funktion Win_Closed kann dies festgestellt werden.

EasyGEM - 3 / 5

68