TreeGadget: Weitere Items zu einem Knoten hinzufügen

Anfängerfragen zum Programmieren mit PureBasic.
PurePi
Beiträge: 41
Registriert: 08.02.2007 08:18

TreeGadget: Weitere Items zu einem Knoten hinzufügen

Beitrag von PurePi »

Tach zusammen,

wie kann ich weitere Items zu einem Konten in einem TreeGadget hinzufügen ?
In der u.a. For Schleife (s. BeispielCode) ist das ja kein Problem.
Wie kann kann ich später (nach der For Schleife) einen Knoten identifizieren und diesem weitere Items hinzufügen ?
Wahrscheinlich ist das ganz simple (wenn man weiß wie) :(
Thanks for help

Code: Alles auswählen

If OpenWindow(0, 0, 0, 355, 180, "TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    TreeGadget(1, 180, 10, 160, 160, #PB_Tree_CheckBoxes|#PB_Tree_NoLines)  ; TreeGadget mit Checkboxen + ohne Linien
    id=1
     For a = 0 To 10
        AddGadgetItem (ID, -1, "Normal Item "+Str(a), 0, 0) 
        AddGadgetItem (ID, -1, "Node "+Str(a), 0, 0)        
        AddGadgetItem(ID, -1, "Sub-Item 1", 0, 1)     
        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)  
      Next
    ; hier möchte ich weitere SubItems zu z.B. Node 1 und Node 7 hinzufügen
    ; HowTo ??
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TreeGadget: Weitere Items zu einem Knoten hinzufügen

Beitrag von STARGÅTE »

Alle Items (egal welche Tiefe) habe eine Nummer, der erste 0 der zweite 1 usw.
um also etwas irgendwo einzufügen, musst du die Nummer direkt angeben wo es sein soll, statt -1

beispiel1:
Unter Note 1 neue einfügen:

Code: Alles auswählen

      For a = 0 To 5
        AddGadgetItem (ID, 13+a, "New Sub-Item "+Str(a), 0, 1) 
      Next
Dieses 13+a berut darauf das der eintrag nach dem letzten SubItem von Note 1 (File 1) die nummer 13 hat, und ich diesen nun nahc hinten schiebe.

Du kannst auch n Suche einbauen:

Code: Alles auswählen

      Items = CountGadgetItems(ID)-1
      For n = 0 To Items
       If GetGadgetItemText(ID, n) = "Node 7"
        Repeat
         n+1
        Until GetGadgetItemAttribute(ID, n, #PB_Tree_SubLevel) <> 1
        Position = n 
        break
       EndIf
      Next
      For a = 0 To 5
        AddGadgetItem (ID, Position+a, "New Sub-Item "+Str(a), 0, 1) 
      Next
jetzt sucht er nach Note 7, und geht dann alle SubItems durch (mit level 1) bis es keins mehr gibt und dann fügt er da die neuen ein.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
PurePi
Beiträge: 41
Registriert: 08.02.2007 08:18

Re: TreeGadget: Weitere Items zu einem Knoten hinzufügen

Beitrag von PurePi »

Besten Dank .
Die Lösung war wirklich sehr einfach, hab den Wald vor lauter Bäumen nicht gesehen :oops:
Wünsche ein schönes WE :D
Antworten