Page 1 sur 1

ListIconGadget et Cases à cocher

Publié : mar. 19/avr./2011 5:52
par Chris
Quelqu'un aurait une solution pour récupérer l'index d'une ligne sans qu'elle soit sélectionnée, c'est à dire uniquement en cliquant dans la case à cocher?
Ce que je cherche à faire, c'est récupérer l'index de l'item, (le numéro de la ligne), uniquement en cliquant dans la case à cocher, sans sélectionner la ligne.
(Bon! Là, je vois pas comment je peux être plus clair! :roll: )

Je vous met un code (qui sert à rien) pour vous entrainer. :mrgreen:

Code : Tout sélectionner

#List = 1

If OpenWindow(0, 0, 0, 170, 170, "ListIconGadget", #PB_Window_SystemMenu) 
  ListIconGadget(1,  10, 10, 150, 150, "Colonne 1", 100, #PB_ListIcon_CheckBoxes|#PB_ListIcon_FullRowSelect|#LVS_NOCOLUMNHEADER)
  
  For a = 0 To 4
    AddGadgetItem(#List, -1, "Texte "+Str(a)) 
  Next
EndIf

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow : Quit = 1
      
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #List
          Select EventType()
            Case #PB_EventType_LeftClick
              Debug GetGadgetState(#List) ; Ca, ça fonctionne bien en sélectionnant la ligne
                                          ; mais c'est pas ça que je veux.
                                          ; Je veux obtenir la même chose, juste en cliquant
                                          ; dans la case à cocher.
              
          EndSelect
      EndSelect
  EndSelect
Until Quit

Re: ListIconGadget et Cases à cocher

Publié : mar. 19/avr./2011 7:54
par Mindphazer
Salut,
tu peux faire une boucle en balayant le contenu de ta liste et en vérifiant si la ligne est cochée ou non :

Code : Tout sélectionner

For i = 0 to CountGadgetItems(#list)
  If GetGadgetItemState(#list,i) & #PB_ListIcon_Checked
    Debug GetGadgetState(#list)
  Endif
Next i
Il y a peut-être d'autres soluces, mais c'est la technique que j'utilise pour savoir si une case est cochée ou non, indépendamment du fait que la ligne soit sélectionnée....

Re: ListIconGadget et Cases à cocher

Publié : mar. 19/avr./2011 12:19
par Ar-S
ça me parait être la solution la plus simple.