TreeGadget()
Syntax
Ergebnis = TreeGadget(#Gadget, x, y, Breite, Hoehe [, Flags])Beschreibung
Erstellt ein Tree-Gadget (Baum-Gadget) innerhalb der aktuellen Gadgetliste.
Wenn #PB_Any als '#Gadget' Parameter verwendet wird, dann wird die Nummer des neuen Gadgets als 'Ergebnis' zurückgegeben. #Gadget ist die Nummer, die (später) von der EventGadget() Funktion zurückgegeben wird. Sobald ein Tree (Baum) erstellt wurde, ist seine Liste mit Einträgen leer.
Jeder Eintrag im Tree hat einen ihm zugewiesenen Unterebenen-Wert ("Sublevel"), welcher die Verbindung zwischen dem Eintrag darüber und darunter bestimmt. Einträge mit dem gleichen Sublevel gehören zum gleichen Knoten ("Node"), Einträge mit einem höheren Sublevel sind untergeordnete Einträge ("Childitems") und so weiter. Dieser Sublevel-Wert kann verwendet werden, um die Verbindung zwischen zwei Einträgen durch Vergleichen ihres Sublevel-Werts zu bestimmen. Der Parameter 'Flags' von AddGadgetItem() wird bei TreeGadget-Einträgen immer benötigt und wird verwendet, um den Sublevel festzulegen, an dem der neue Eintrag hinzugefügt werden soll. Beachten Sie bitte: wenn die Funktion mit einem Sublevel aufgerufen wird, an dem der Eintrag nicht hinzugefügt werden kann, dann wird der Eintrag an dem Sublevel hinzugefügt, wo dies möglich ist.
'Flags' sind optional und können sich aus einer oder mehreren der folgenden Konstanten (verknüpft mit dem '|' OR-Operator) zusammensetzen:#PB_Tree_AlwaysShowSelection : Die Auswahl ist noch sichtbar, auch wenn das Gadget nicht aktiviert ist. #PB_Tree_NoLines : Versteckt die kleinen Linien zwischen allen Knoten ("Nodes"). #PB_Tree_NoButtons : Versteckt die '+' Knoten ("Node") Schalter. #PB_Tree_CheckBoxes : Fügt ein Häkchen vor jedem Eintrag ein.Zu diesem Gadget kann mittels GadgetToolTip() eine 'Mini-Hilfe' hinzugefügt werden.
Die folgenden Befehle können benutzt werden, um auf den Tree-Inhalt zuzugreifen:
- AddGadgetItem(): Fügt einen Eintrag (mit optionalem Bild in der 16x16 Standard Icon-Größe) hinzu.
- RemoveGadgetItem(): Entfernt einen Eintrag (und all seine Untereinträge).
- ClearGadgetItems(): Entfernt alle Einträge.
- CountGadgetItems(): Ermittelt die Anzahl der aktuellen Einträge im #Gadget.
- GetGadgetItemState(): Ermittelt den aktuellen Status des angegebenen Eintrags.
- SetGadgetItemState(): Ändert den aktuellen Status des angegebenen Eintrags.
- GetGadgetItemText(): Ermittelt den aktuellen Textinhalt des angegebenen Eintrags.
- SetGadgetItemText(): Ändert den aktuellen Text des angegebenen Eintrags.
- GetGadgetItemData(): Gibt den Wert zurück, welcher mit dem Eintrag gespeichert wurde.
- SetGadgetItemData(): Speichert einen Wert mit dem Eintrag.
- GetGadgetState(): Ermittelt den aktuell ausgewählten Eintrag.
- SetGadgetState(): Ändert den aktuell ausgewählten Eintrag.
- GetGadgetText(): Ermittelt den Textinhalt des aktuell ausgewählten Eintrags.
- SetGadgetText(): Ändert den Textinhalt des aktuell ausgewählten Eintrags.
- GetGadgetItemAttribute(): Mit dem folgenden Attribut:#PB_Tree_SubLevel: Gibt den Sublevel-Wert des angegebenen Eintrags zurück.- GadgetItemID(): Gibt das OS Handle des angegebenen Eintrags zurück (nützlich für API Funktionen).
Die folgenden Ereignisse ("Events") werden durch EventType() unterstützt:#PB_EventType_LeftClick : linker Mausklick auf einen Eintrag, oder ein Häkchen wurde gesetzt/entfernt #PB_EventType_LeftDoubleClick #PB_EventType_RightClick #PB_EventType_RightDoubleClick #PB_EventType_Change : der aktuelle Eintrag wurde verändert #PB_EventType_DragStart : der Anwender versucht, eine Drag & Drop Operation zu startenNach einem #PB_EventType_DragStart Ereignis kann die Drag & Drop Library verwendet werden, um die Drag & Drop Operation zu starten.Beispiel:
If OpenWindow(0, 0, 0, 355, 180, "TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) TreeGadget(0, 10, 10, 160, 160) ; TreeGadget Standard TreeGadget(1, 180, 10, 160, 160, #PB_Tree_CheckBoxes|#PB_Tree_NoLines) ; TreeGadget mit Checkboxen + ohne Linien For ID = 0 To 1 For a = 0 To 10 AddGadgetItem (ID, -1, "Normal Item "+Str(a), 0, 0) ; wenn Sie ein Bild hinzufügen möchten, dann AddGadgetItem (ID, -1, "Node "+Str(a), 0, 0) ; benutzen Sie ImageID(x) als 4. Parameter AddGadgetItem(ID, -1, "Sub-Item 1", 0, 1) ; diese sind auf dem ersten Sublevel AddGadgetItem(ID, -1, "Sub-Item 2", 0, 1) AddGadgetItem(ID, -1, "Sub-Item 3", 0, 1) AddGadgetItem(ID, -1, "Sub-Item 4", 0, 1) AddGadgetItem (ID, -1, "File "+Str(a), 0, 0) ; hier wieder Sublevel 0 Next Next Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow EndIf
Unterstützte OS
Alle