Petit problème d'utilisation de #PB_ListIcon_Checked

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Malo
Messages : 79
Inscription : dim. 09/août/2009 17:48

Petit problème d'utilisation de #PB_ListIcon_Checked

Message par Malo »

Bonjour a tous

la doc dit :

; ... Ce code est à placer dans une boucle avec WaitWindowEvent() :

Code : Tout sélectionner

  If GetGadgetItemState(#Listicon, n) & #PB_ListIcon_Checked
    ; L'élément n est coché (indépendamment qu'il soit sélectionné ou non)
EndIf
Or pour avoir un retour d'information sur la checkboxe il faut que sélectionne l'élément auparavent.
Je pensais que l'on pouvait avoir l'un ou l'autre ou les 2 .

J'ai peut-être mal interprété la doc....



Mon code d'essai

Code : Tout sélectionner


If OpenWindow(0, 0, 0, 690, 300, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
		
		
		TextGadget    (7,  10, 105, 300, 20, "Liste avec  cases à cocher", #PB_Text_Center)
		ListIconGadget(1,  10, 120, 300, 175, "Colonne 1", 100, #PB_ListIcon_CheckBoxes|#PB_ListIcon_GridLines)  
		
		For b = 2 To 4          ; ajouter 3 colonnes supplémentaires
				AddGadgetColumn(1, b, "Colonne " + Str(b), 65)
		Next
		For b = 0 To 2          ; ajouter 4 éléments à chaque ligne des listes avec icônes
				AddGadgetItem(1, b, "Elément"+Str(b)+Chr(10)+"Elément "+Str(b+1)+Chr(10)+"Elément "+Str(b+2)+Chr(10)+"Elément "+Str(b+3))
		Next
		
		Repeat 
				Event= WaitWindowEvent() 
				
				Select Event
							
					Case #PB_Event_Gadget
							Select EventGadget()
								Case 1
										n=GetGadgetState(1)
										
										If GetGadgetItemState(1, n) & #PB_ListIcon_Checked 
												Debug " L'élément"+Str( n)+"   est coché "
										EndIf
										
										
						EndSelect
		EndSelect
		
		
Until Event= #PB_Event_CloseWindow
EndIf



j'ai trouvé un code de Srod ou il passe par un callback,

Si vous avez une autre solution merci par avance
Avatar de l’utilisateur
case
Messages : 1545
Inscription : lun. 10/sept./2007 11:13

Re: Petit problème d'utilisation de #PB_ListIcon_Checked

Message par case »

non tu peux savoir si un element est coché ou non sans le selectionner

Code : Tout sélectionner


If OpenWindow(0, 0, 0, 690, 300, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  
  TextGadget    (7,  10, 105, 300, 20, "Liste avec  cases à cocher", #PB_Text_Center)
  ListIconGadget(1,  10, 120, 300, 175, "Colonne 1", 100, #PB_ListIcon_CheckBoxes|#PB_ListIcon_GridLines) 
  
  For b = 2 To 4          ; ajouter 3 colonnes supplémentaires
    AddGadgetColumn(1, b, "Colonne " + Str(b), 65)
  Next
  For b = 0 To 2          ; ajouter 4 éléments à chaque ligne des listes avec icônes
    AddGadgetItem(1, b, "Elément"+Str(b)+Chr(10)+"Elément "+Str(b+1)+Chr(10)+"Elément "+Str(b+2)+Chr(10)+"Elément "+Str(b+3))
  Next
  
  Repeat
    Event= WaitWindowEvent()
    For chk=0 To 2 ;boucle qui verifie si un element est coché et affiche dans le Debug si c'est le cas
      If GetGadgetItemState(1,chk) & #PB_ListIcon_Checked
        Debug " L'élément"+Str( chk)+"   est coché "
      EndIf
    Next
    Select Event
        
      Case #PB_Event_Gadget
        Select EventGadget()
          Case 1
            n=GetGadgetState(1)
            
            
            
        EndSelect
    EndSelect
    
    
  Until Event= #PB_Event_CloseWindow
EndIf



ImageImage
Malo
Messages : 79
Inscription : dim. 09/août/2009 17:48

Re: Petit problème d'utilisation de #PB_ListIcon_Checked

Message par Malo »

Case Je te remercie pour ta réponse.
Répondre