Page 1 sur 1

Se déplacer dans une ListIcon via un bouton

Publié : ven. 11/nov./2016 23:38
par venom
Bonjour,

Je ne comprend pas pourquoi mon code ne fonctionne pas, je souhaite sauter de ligne en appuyant sur un bouton

Code : Tout sélectionner

If OpenWindow(0, 100, 100, 300, 300, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ListIconGadget(0, 5, 5, 290, 200, "Nom", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_AlwaysShowSelection)
   AddGadgetItem(0, 0, "ID 0")
   AddGadgetItem(0, 1, "ID 1")
   AddGadgetItem(0, 2, "ID 2")
   AddGadgetItem(0, 3, "ID 3")
   AddGadgetItem(0, 4, "ID 4")
   
   ButtonGadget(1, 10, 250, 100, 20, "suivant", 0)
EndIf 
 
  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
          
        Case 1
         LigneSelectionner = GetGadgetItemState(0, #PB_ListIcon_Selected)

          LigneSelectionner = LigneSelectionner+1
          SetGadgetItemState(0, LigneSelectionner, #PB_ListIcon_Selected)

      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
Il passe bien de l'ID 0 a ID 1 et a ID 2 ensuite il retourne a ID 1 8O :?
Pourquoi






@++

Re: Se déplacer dans une ListIcon via un bouton

Publié : ven. 11/nov./2016 23:47
par GallyHC
Bonjour,

Voila un code qui fonctionne :

Code : Tout sélectionner

If OpenWindow(0, 100, 100, 300, 300, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ListIconGadget(0, 5, 5, 290, 200, "Nom", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_AlwaysShowSelection)
   AddGadgetItem(0, -1, "ID 0")
   AddGadgetItem(0, -1, "ID 1")
   AddGadgetItem(0, -1, "ID 2")
   AddGadgetItem(0, -1, "ID 3")
   AddGadgetItem(0, -1, "ID 4")
   
   ButtonGadget(1, 10, 250, 100, 20, "suivant", 0)
EndIf 

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
          
        Case 1
          iselected = GetGadgetState(0) + 1
          If iselected => CountGadgetItems(0)
            iselected = 0
          EndIf
          SetGadgetItemState(0, iselected, #PB_ListIcon_Selected)
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
Utilisation de "GetGadgetState()" au lieu de "GetGadgetItemState()" qui renvois l'état et pas la position.

Cordialement,
GallyHC

Re: Se déplacer dans une ListIcon via un bouton

Publié : sam. 12/nov./2016 0:03
par venom
Merci GallyHC,

Arf... je n’étais pas loin :)






@++

Re: Se déplacer dans une ListIcon via un bouton

Publié : sam. 12/nov./2016 10:51
par GallyHC
Bonjour,

Aussi j'utilise "AddGadgetItem(0, -1, "")", en mettant la position à "-1", ce qui évite une erreur sur les index de position de l'élément. C'été pour te faire une petite précision.

Cordialement,
GallyHC

Re: Se déplacer dans une ListIcon via un bouton

Publié : sam. 12/nov./2016 11:28
par venom
Merci pour ces précision






@++