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