Aber ich fange jetzt einfach immer fest mit ID 1000 an und lasse hochzählen, bei jeder Aktualisierung wird wieder auf 1000 zurückgesetzt. Works!
... Und führt zu schlimmen Fehler, wenn du mit deiner hochzählerei ausversehen ein anderes Gadget löschst.
Wieso keine Liste?
Hier ein Beispiel: mit PB_Any:
mit "Neuer Button" Buttons hinzufügen, und duch klick auf einen Button kannst du ihn löschen und die andere rücken auf:
Code: Alles auswählen
Enumeration
#Window
#Gadget
EndEnumeration
OpenWindow(#Window, 0, 0, 800, 600, "WindowTitle", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ButtonGadget(#Gadget, 10, 10, 100, 20, "Neuer Button")
Global NewList MyButton.i()
For n = 1 To 10
AddElement(MyButton())
MyButton() = ButtonGadget(#PB_Any, 10, 50+ListIndex(MyButton())*20, 100, 20, "Button "+Str(Random(100)))
Next
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case #Gadget
LastElement(MyButton())
AddElement(MyButton())
MyButton() = ButtonGadget(#PB_Any, 10, 50+ListIndex(MyButton())*20, 100, 20, "Button "+Str(Random(100)))
Default
ForEach MyButton()
If MyButton() = EventGadget()
FreeGadget(MyButton())
DeleteElement(MyButton())
Break
EndIf
Next
While NextElement(MyButton())
ResizeGadget(MyButton(), #PB_Ignore, 50+ListIndex(MyButton())*20, #PB_Ignore, #PB_Ignore)
Wend
EndSelect
EndSelect
ForEver