Page 1 sur 1

Saute mouton dans ListIconGadget() !! Why? mais Ouaï!!

Publié : mar. 05/déc./2006 19:45
par Jacobus
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!

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