Saute mouton dans ListIconGadget() Why? mais Ouaï??
Publié : mar. 05/déc./2006 19:46
Où est l'erreur please? Qu'est-ce que j'ai oublié pour que ça fonctionne comme ça que j'veux??
Dans le code suivant, le but est de supprimer des éléments en les sélectionnant (par exemple de 1 à 5) puis en cliquant sur le bouton prévu.
Seulement le code est très joueur et il n'en fait qu'à sa tête, c'est à dire qu'il remove qu'un item sur deux, Ahah!
Si alors on sélectionne un item sur deux, là il est content et les supprime.
Oui mais Pourquoi?? aaarrgh!
Dans le code suivant, le but est de supprimer des éléments en les sélectionnant (par exemple de 1 à 5) puis en cliquant sur le bouton prévu.
Seulement le code est très joueur et il n'en fait qu'à sa tête, c'est à dire qu'il remove qu'un item sur deux, Ahah!

Si alors on sélectionne un item sur deux, là il est content et les supprime.
Oui mais Pourquoi?? aaarrgh!
Code : Tout sélectionner
;Code PB4.01 à jour
Enumeration
#WIN
#LISTICON
#btnRemove
EndEnumeration
ExamineDesktops()
Largeur$ = Str(DesktopWidth(0))
Hauteur$ = Str(DesktopHeight(0))
If Val(Largeur$)>800 And Val(Hauteur$)>600
FlagWin = #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_TitleBar
Else
FlagWin = #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar
EndIf
If OpenWindow(#WIN,0,0,400,550,"Test listicon" ,FlagWin)=0 Or CreateGadgetList(WindowID(#WIN))=0
End
EndIf
ButtonGadget(#btnRemove,10,5,150,20,"Remove Select Items")
ListIconGadget(#LISTICON, 10,30,380,510, "INDEX", 380 , #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_MultiSelect)
count=0
For n = 0 To 20
count=count+1
AddGadgetItem(#LISTICON, -1 ," + Element n° "+Str(count))
Next
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #btnRemove
NbItems = CountGadgetItems(#LISTICON):Debug NbItems
For ni = 0 To NbItems - 1
Resultat = GetGadgetItemState(#LISTICON, ni)
If Resultat & #PB_ListIcon_Selected
RemoveGadgetItem(#LISTICON, ni)
EndIf
Next
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
End