<< Inhaltsverzeichnis Suchen >>

SPLIT_WINDOW

Funktion

Syntax:

SPLIT_WINDOW(<WINDOW-TIEFE>,<TYP>,<GROESSE>)

<WINDOW-TIEFE>         = <NUM-AUSDRUCK>
<TYP>                                = <NUM-AUSDRUCK>
<GROESSE>                     = <NUM-AUSDRUCK>

Bedeutung:

SPLIT_WINDOW erzeugt im Window der Tiefe <WINDOW-TIEFE> ein Split-Window (<WINDOW-TIEFE> = 0 ist das Mainwindow). Das Fenster wird geteilt, dadurch entsteht ein neues Teilfenster. Die Funktion liefert als Ergebnis die Identifizierungsnummer (Handle) des neuen Teilfensters. Als <WINDOW-TIEFE> kann auch die Identifizierungsnummer des letzten zuvor erzeugten Split-Windows angegeben werden. Dann wird dieses Teilfenster erneut geteilt.

Gesplittet werden können nur das Main-Windows, Maskenwindows und mit der Anweisung WINDOW erzeugte Windows.

Das neue Teilfenster kann gefüllt werden mit folgenden NOWAIT-Funktionen:

WINDOWCALL
SELECT
 / SELECTA
GR_TREEVIEW

GR_LISTVIEW

GR_TABCONTROL
 

WINDOWCALL wirkt implizit wie NOWAIT, bei den anderen Funktionen muß der Parameter NOWAIT gesetzt sein. Zusätzlich muß nach dem <EXITMACRO> die Identifizierungsnummer <SPLIT-HANDLE> des Teilfensters angegeben werden.

Wird in einem Teilfenster mit WINDOWCALL eine neue Maske gestartet, so wird die neu gestartete Maske sofort die aktuelle Maske, beim Start einer anderen Funktion ändert sich die aktuelle Maske nicht.

SPLIT_WINDOW liefert folgende Ergebniswerte:
-1           Die Windowtiefe bzw. Identifizierungsnummer existiert nicht
-2           Die Identifizierungsnummer ist nicht die des zuletzt erzeugten
               Split-Windows.
-3           Es können nur Maskenwindows gesplittet werden.'
Handle   sonst

<TYP> legt fest, wie das Window geteilt wird:

 

<TYP>

vorhandenes Fenster

neues Teilfenster

 

1

links

rechts

 

2

rechts

links

 

3

oben

unten

 

sonst

unten

oben

 

<GROESSE> muß zwischen 0 und 100 liegen und gibt die Größe des bisherigen Fensters in Prozent vom verfügbaren Platz an. Das neue Teilfenster hat die Größe 100 - <GROESSE> %.

Beispiel:              <GROESSE> = 30
                              Nach der Teilung belegt das bisherige Fenster 30% und
                              das neue Teilfenster 70% des verfügbaren Platzes.

SPLIT_WINDOW kann mehrfach aufgerufen werden. Es wird dann der aktuelle Inhalt des Windows gemäß <TYP> wieder geteilt.

Bei der Funktion SET_WDEPTH kann als <WINDOW-TIEFE> auch die Identifizierungsnummer eines Teilfensters angegeben werden. Es wird dann dieses Teilfenster aktiviert.

Wenn ein Teilfenster aktiv ist, enthält EBUS_SPLITHANDLE die Identifizierungsnummer des Teilfensters.

Bei den Anweisungen CLS, PRINT, STARTSELECT, RESTARTSELECT, REFRESHSELECT und REFRESHSELECTA und den Funktionen LOAD_PICTURE, MOVE_PICTURE, REMOVE_PICTURE, CURSOR, GR_CURSOR, GR_CIRCLE, GR_FILLRECT, GR_FILLRECT_GRADIENT und GR_LINE kann der zusätzliche Parameter <HANDLE> angegeben werden. <HANDLE> kann eine Windowtiefe oder die Identifizierungsnummer eines Split-Windows enthalten und legt fest, auf welches Fenster oder Teilfenster sich die Anweisung / Funktion bezieht.

Diese Funktion ist nur unter Java verfügbar, sonst liefert sie als Ergebnis -1.

Beispiel:

/* Main-Window soll horizontal geteilt werden im Verhältnis 3:1
HANDLE% = SPLIT_WINDOW(0,1,75)
IF HANDLE% < 0
THEN ... Fehler
ENDIF

/* Maske Nr. 45 in das neue Teilfenster laden
H% = WINDOWCALL(#45, PROG.EXIT.SPLIT.WINDOW, HANDLE%)

siehe auch:

REMOVE_SPLIT_WINDOW, GET_SPLIT_WINDOW_DIVIDER, SET_SPLIT_WINDOW_DIVIDER, GET_SPLIT_WINDOW_DIVIDERSIZE, SET_SPLIT_WINDOW_DIVIDERSIZE, SET_WDEPTH, EBUS_SPLITHANDLE