<< Inhaltsverzeichnis Suchen >>

GR_TREEVIEW

Funktion

Syntax:

GR_TREEVIEW([WAIT | NOWAIT,<EXITMACRO>,<SPLIT-HANDLE>,]
                               <TABELLE>,<VOREINSTELLUNG>,<ANZAHL>,
                                <TRENNZEICHEN>,<UEBERSCHRIFT>,
                                <WINDOW-ZEILEN>,<WINDOW-SPALTEN>,
                                <BILD-HOEHE>,<BILD-BREITE>,
                                <EXPANDIER-STUFE>[,<EDITIEREN>])

<EXITMACRO>                 = <MACRONAME>
<SPLIT-HANDLE>             = <NUM-AUSDRUCK>
<TABELLE>                        = <NAME>$
<VOREINSTELLUNG>       = <STRING-AUSDRUCK>
<ANZAHL>                         = <NUM-AUSDRUCK>
<TRENNZEICHEN>           = <STRING-AUSDRUCK>
<UEBERSCHRIFT>            = <STRING-AUSDRUCK>
<WINDOW-ZEILEN>        = <NUM-AUSDRUCK>
<WINDOW-SPALTEN>    = <NUM-AUSDRUCK>
<BILD-HOEHE>                  = <NUM-AUSDRUCK>
<BILD-BREITE>  = <NUM-AUSDRUCK>
<EXPANDIER-STUFE>     = <NUM-AUSDRUCK>
<EDITIEREN>                     = <NUM-AUSDRUCK>

Bedeutung:

GR_TREEVIEW erzeugt einen graphischen Baum. Diese Funktion ist nur unter WINDOWS 32-Bit verfügbar und liefert folgende Werte als Ergebnis:

 

1:



0:

-1:

Der Benutzer hat ein Element der Tabelle mit <RETURN> oder durch einen Doppelklick mit der Maus ausgewählt. Die Variablen EBUS_TREEVIEW und EBUS_TREEVIEW$ enthalten das ausgewählte Element.

Der Benutzer hat GR_TREEVIEW mit <ESC> verlassen.

Es ist ein Fehler aufgetreten. Die Variable OK enthält einen der folgenden Fehlercodes:

7901  Ausgabefenster kann nicht geöffnet werden
7902  Maximale <STUFE> überschritten
7903  Element nicht gefunden
7904  Element kann nicht erzeugt werden
7905  Treeview-Fenster kann nicht erzeugt werden
7906  Kein Treeview in aktuellem Fenster vorhanden
7907  <STUFE> nicht erlaubt
7908  Tabelle ist leer
7909  Erstes Element hat <STUFE> <> 0
7910  Späteres Element hat <STUFE> = 0
7911  Treeview passt nicht in Array
7912  Item-Nummer ist ungültig
7913  Fehler bei TreeView_SetItem
7914  Wurzel-Element kann nicht gelöscht werden.
7921  Fehler beim Aufbau der internen Bitmap-/Icon-Liste
7922  Fehler beim Laden Bitmap/Icon
7923  Fehler bei ImageList_Add
7924  Editieren ist nicht möglich

Unter MS-DOS, UNIX und WINDOWS 16-Bit liefert GR_TREEVIEW als Ergebnis stets -1.

 

Bei NOWAIT wird ein neuer Programmzweig gestartet (siehe Funktion WINDOWCALL), die Funktion kehrt sofort zurück und liefert die Identifizierungsnummer (Handle) des Treeview. Mit der Anweisung CLOSE_TREEVIEW(<Handle>) kann eine mit NOWAIT geöffneter Treeview geschlossen werden.

Bei WAIT wird GR_TREEVIEW hierarchisch gestartet und die Funktion kehrt erst zurück wenn die Auswahl beendet wurde.

Der Macro <EXITMACRO> wird ausgeführt, nachdem die Auswahl beendet wurde, sei es durch Schließen des Windows, durch Verlassen mit ESC oder die Anweisungen ENDSELECT und QUITSELECT. Wird WAIT oder NOWAIT angegeben, so muß auch ein <EXITMACRO> angegeben werden.

Wenn der Treeview im Split-Window angezeigt werden soll, muß <SPLIT-HANDLE> die Identifizierungsnummer des Split-Windows enthalten, andernfalls ist <SPLIT-HANDLE> = 0 zu setzen.

Unabhängig von WAIT/NOWAIT schließt die Funktion GR_TREEVIEW alle Windows, die von ihr geöffnet wurden.

Fehlen die Parameter [WAIT | NOWAIT,<EXITMACRO>,], so ist dies gleichbedeutend mit WAIT.

NOWAIT hat nur unter WINDOWS eine Wirkung, unter MS-DOS und UNIX wirkt NOWAIT wie WAIT.

Alle Schalter und ON <EREIGNIS> MACRO's werden bei NOWAIT beim Start von GR_TREEVIEW und bei jedem Verlassen des Programmzweigs gesichert. Beim erneuten Aktivieren des Programmzweigs wird der letzte Zustand der Schalter und ON <EREIGNIS> MACRO's wieder hergestellt. Nach jedem ON SELECT(<TASTE>) MACRO, der im GR_TREEVIEW ausgeführt wird, werden die ON <EREIGNIS> MACRO's erneut gesichert.

 

<TABELLE> ist der Name eines alphanumerischen Bereichs (Arrays). Es ist nur der Name der Variablen ohne Indizes anzugeben.

Die Elemente der <TABELLE> legen den Aufbau des Baumes von oben (der Wurzel) nach unten fest und müssen folgendermaßen aufgebaut sein:

"<STUFE><TRENNZEICHEN><BILD-NAME><TRENNZEICHEN><TEXT>"

 

 

<STUFE> ist eine Zahl, die die Verschachtelungstiefe im Baum festlegt. Das erste Element der <TABELLE> (dies ist das Element Nr. 1, das Element Nr. 0 wird nicht berücksichtigt) bezeichnet die Wurzel und hat deshalb als Stufe den Wert 0. Alle nachfolgenden Elemente müssen eine Stufe > 0 besitzen.

<BILD-NAME> bezeichnet ein Bild (Bitmap oder Icon), das im Baum angezeigt werden soll. Die im Baum verwendeten Bitmaps und Icons sollten zusätzlich mit #ADDBITMAP bzw. #ADDICON dem Programm bekannt gemacht werden, damit sie in die Resourcen-Datei eingetragen werden können. Zur Laufzeit werden die Bitmaps und Icons dann aus der EXE-Datei geladen. Dies geht deutlich schneller als das Suchen auf der Festplatte.

<TEXT> ist der Text, der im Baum neben dem Bild angezeigt wird.

 

<VOREINSTELLUNG> legt fest, welches Element des Baumes beim Start von GR_TREEVIEW markiert dargestellt werden soll. Der Baum wird dabei automatisch soweit expandiert, daß das gewünchste Element sichtbar wird. Als <VOREINSTELLUNG> kann der <TEXT> des Elementes oder der vollständige Pfad des Elementes angegeben werden. Der Pfad besteht aus den durch <TRENNZEICHEN> getrennten Texten ausgehend von Stufe 0 bis zur Stufe des markiert anzuzeigenden Elementes (siehe Beispiel). Wird nur der <TEXT> angegeben und kommt dieser <TEXT> im Baum mehrfach vor, so wird das erste gefundene Element markiert. Ist <VOREINSTELLUNG> der Leerstring "", so wird das Wurzelelement markiert dargestellt.

<ANZAHL> ist die Anzahl der Elemente der <TABELLE>, die beim Aufbau des Baumes berücksichtigt werden sollen.

<TRENNZEICHEN> legt fest, durch welches Zeichen <STUFE>, <BITMAP-NAME> und <TEXT> getrennt werden. Ist <TRENNZEICHEN> der Leerstring, so gilt der Strichpunkt ";" als Trennzeichen.

Ist <UEBERSCHRIFT> der Leerstring "" und ist ein Window offen, so erfolgt die Anzeige des Baumes im aktuellen Window. Andernfalls wird ein neues Window mit der <UEBERSCHRIFT> geöffnet. Die Größe des Windows wird durch <WINDOW-ZEILEN> und <WINDOW-SPALTEN>, die Position durch die Anweisung WINDOWPOS festgelegt.

<BILD-HOEHE> und <BILD-BREITE> legen die Größe des Bildes in Pixel fest. Diese Größe gilt für alle im Baum vorkommenden Bitmaps und Icons.

<EXPANDIER-STUFE> legt fest, bis zu welcher Stufe der Baum beim Start von GR_TREEVIEW expandiert wird.

Ist <EDITIEREN> <> 0, so können die Elemente des Baumes nach zweimaligem Klick oder über die Funktion GR_TREEVIEW_EDIT_TEXT editiert werden.

Alle ON SELECT(<TASTE>) MACRO's sind im GR_TREEVIEW wirksam. Wird ein solcher Macro ausgeführt, so enthält EBUS_TREEVIEW$ den Pfad und EBUS_TREEVIEW die Nummer des gerade markierten Elementes.

Beispiel:

DIM T$(20)
T$(1) = "0;ansprech.bmp;Ansprechpartner"
T$(2) = "1;firma.bmp;Fritsch GmbH"
T$(3) = "2;person.bmp;Huber Franz"
T$(4) = "2;person.bmp;Meier Josef"
T$(5) = "1;firma.bmp;Karo Verlag"
T$(6) = "2;person.bmp;Hübner Jutta"
T$(7) = "2;person.bmp;Bauer Sigrid"
T$(8) = "2;person.bmp;Talhammer Bernd"
T$(9) = "2;person.bmp;Arndt Erich"

/* VOREINST$ enthält vollständigen Pfad
VOREINST$ = "Ansprechpartner;Karo Verlag;Arndt Erich"

WINDOWPOS(7,50)

H% = GR_TREEVIEW(T$,VOREINST$,9,";","Firmen-Ansprechpartner",
                                       15,50,16,16,0)

IF H% = -1
THEN /* Fehler
ENDIF

siehe auch:

GR_TREEVIEWFONT, GR_GET_TREEVIEW, GR_LISTVIEW, GR_TREEVIEW_CHANGE_BITMAP, GR_TREEVIEW_DELETE, GR_TREEVIEW_INSERT, EBUS_TREEVIEW, EBUS_TREEVIEW$,
ENABLE_WINDOW
, CLOSE_TREEVIEW