Page 1 of 1

RemoveGadgetItem

Posted: Tue Aug 16, 2022 3:25 pm
by Stefan
I want to delete all Intems, but this code doesn't work.
I know "ClearGadgetItems()", but I want to know what I am doing wrong here.

Code: Select all

Enumeration
  #window
  #pic
  #ListIconGadget
EndEnumeration
OpenWindow(#window,0,0,800,600,"a Window")
CreateImage(#pic, 30,30,32,RGB(200,0,0))
ListIconGadget(#ListIconGadget,10,10,200,200,"Listicongadget",100,#PB_ListIcon_CheckBoxes)
For i=1 To 10
 AddGadgetItem(#ListIconGadget, -1, "Pic "+Str(i),ImageID(#pic))  
Next i
c=CountGadgetItems(#ListIconGadget)
Debug c
For j=0 To c-1 
   RemoveGadgetItem(#ListIconGadget,j)
Next j

Re: RemoveGadgetItem

Posted: Tue Aug 16, 2022 7:57 pm
by the.weavster

Code: Select all

For j=0 To c-1 
  ;RemoveGadgetItem(#ListIconGadget,j) ; <--- not this
  RemoveGadgetItem(#ListIconGadget, 0) ; <--- this
Next j
Because if you start at the top of the list each time you remove a line all the other lines' index changes

Re: RemoveGadgetItem

Posted: Tue Aug 16, 2022 9:32 pm
by Peter
... or this way:

Code: Select all

For j = c-1 To 0 Step -1
  RemoveGadgetItem(#ListIconGadget,j)
Next j

Re: RemoveGadgetItem

Posted: Wed Aug 17, 2022 6:39 am
by Stefan
Merci :)