TreeGadget
Verfasst: 11.11.2006 15:33
Ich arbeite gerade am TreeGadget und möchte, das der User dort sich Ordner und Dateien erstellen kann. Die daten darin werden im Programm erst später ausgelesen. Leider hab im vom TreeGadget zu wenig Ahnung.
Ich hab hier mal nen Beispiel-Code. Dieser ist dient nur als Beispiel:
Mein Problem ist jetzt:
1. Das angecklickte Item herauszufinden (sehr miserabel)
2. Die Items untereinander verschieben zu lassen (Item in Ordner, Item eine Position höher, ...)
Erledigt 3. mehr als ein Note-Level hinzubekommen bzw. Das Note-Level aus einem Item auszulesen.
Ich hab hier mal nen Beispiel-Code. Dieser ist dient nur als Beispiel:
Code: Alles auswählen
OpenWindow(1, 0, 0, 250, 250, "")
CreateGadgetList(WindowID(1))
CreatePopupMenu(1)
MenuItem(1, "Ordner erstellen")
MenuItem(2, "Datei erstellen")
TreeGadget(1, 0, 0, 250, 250)
Repeat
WindowEvent = WaitWindowEvent()
If WindowEvent = #WM_CLOSE : Break : EndIf
If WindowEvent = #PB_Event_Gadget And EventGadget() = 1
If EventType() = #PB_EventType_RightClick
DisplayPopupMenu(1, WindowID(1))
EndIf
EndIf
If WindowEvent = #PB_Event_Menu
Select EventMenu()
Case 1
AktivItem=GetGadgetState(1)
If AktivItem = -1
AddGadgetItem(1, -1, "Book "+Str(Random($FF)))
SetGadgetItemData(1, CountGadgetItems(1)-1, 1)
Else
If GetGadgetItemData(1, AktivItem) = 1
AddGadgetItem(1, AktivItem+1, "Book "+Str(Random($FF)), 0, GetGadgetItemAttribute(1,AktivItem,#PB_Tree_SubLevel)+1)
Else
AddGadgetItem(1, AktivItem+1, "Book "+Str(Random($FF)))
EndIf
SetGadgetItemData(1, AktivItem+1, 1)
EndIf
Case 2
AktivItem=GetGadgetState(1)
If AktivItem = -1
AddGadgetItem(1, -1, "Page "+Str(Random($FF)))
Else
If GetGadgetItemData(1, AktivItem) = 1
AddGadgetItem(1, AktivItem+1, "Page "+Str(Random($FF)), 0, GetGadgetItemAttribute(1,AktivItem,#PB_Tree_SubLevel)+1)
Else
AddGadgetItem(1, AktivItem+1, "Page "+Str(Random($FF)))
EndIf
EndIf
EndSelect
EndIf
ForEver
End
1. Das angecklickte Item herauszufinden (sehr miserabel)
2. Die Items untereinander verschieben zu lassen (Item in Ordner, Item eine Position höher, ...)
Erledigt 3. mehr als ein Note-Level hinzubekommen bzw. Das Note-Level aus einem Item auszulesen.