ListIconGadget et Cases à cocher

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

ListIconGadget et Cases à cocher

Message 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
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Re: ListIconGadget et Cases à cocher

Message 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....
Dernière modification par Mindphazer le mar. 19/avr./2011 12:37, modifié 1 fois.
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: ListIconGadget et Cases à cocher

Message par Ar-S »

ça me parait être la solution la plus simple.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre