Page 1 sur 1

[resolu]suppression des items dans ListIconGadget

Publié : ven. 18/janv./2013 13:20
par yumeria
je commence mon premier programme en purebasic.
c'est un programme qui me permet d'ajouter des courses dans une ListIconGadget via un premier bouton.
et qui me permet de supprimer via un deuxième bouton.
le problème c'est que si je veux supprimer les 10 courses via ce deuxième bouton je dois cliquer 10 fois.
alors que j'essaie de supprimer d'un seul coup toutes les courses dont j'ai cocher la checkbox.
pouvez-vous m'aider svp.
voici mon code:

Code : Tout sélectionner

IncludePath "C:\Users\yumeria\Documents"
IncludeFile "test.pbf"

initouvre_fenetreprincipal()

Repeat
  event=WaitWindowEvent()
  If event=#PB_Event_Gadget
    Select EventGadget ()
      Case #Button_0
        AddGadgetItem(#ListIcon_0,-1,GetGadgetText(#String_0))
      Case #Button_1

        For a=0 To CountGadgetItems(#ListIcon_0)
          If GetGadgetItemState(#ListIcon_0, a) & #PB_ListIcon_Checked
          RemoveGadgetItem(#ListIcon_0,a)
          EndIf
        Next

    EndSelect
  EndIf
  
Until event=#PB_Event_CloseWindow

;If GetGadgetItemState(#ListIcon_0, 0) & #PB_ListIcon_Checked
          ;RemoveGadgetItem(#ListIcon_0,0)
    ; L'élément n est coché (indépendamment qu'il soit sélectionné ou non)
    ; EndIf 
    
    
    ;nombreitem=CountGadgetItems(#ListIcon_0)
       ; For a=0 To nombreitem
          ;If GetGadgetItemState(#ListIcon_0, a) & #PB_ListIcon_Checked
         ; RemoveGadgetItem(#ListIcon_0,a)
ainsi que le fichier include

Code : Tout sélectionner

; Form Designer for Purebasic - 5.0
; Warning: this file uses a strict syntax, if you edit it, make sure to respect the Form Designer limitation or it won't be opened again.

Enumeration #PB_Compiler_EnumerationValue
  #ouvre_fenetreprincipal
EndEnumeration

Enumeration #PB_Compiler_EnumerationValue
  #Button_0
  #Button_1
  #ListIcon_0
  #String_0
  #String_1
EndEnumeration

Procedure Initouvre_fenetreprincipal()
  OpenWindow(#ouvre_fenetreprincipal, 0, 0, 670, 470, "cours", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_ScreenCentered)
  ButtonGadget(#Button_0, 30, 100, 120, 50, "ajouter")
  ButtonGadget(#Button_1, 330, 100, 120, 50, "retirer")
  ListIconGadget(#ListIcon_0, 30, 170, 420, 270, "mes courses", 100, #PB_ListIcon_CheckBoxes)
  
  StringGadget(#String_0, 30, 60, 120, 30, "tapez votre texte")
  StringGadget(#String_1, 330, 60, 120, 30, "tapez votre texte")
EndProcedure



Re: suppression des items dans ListIconGadget

Publié : ven. 18/janv./2013 15:26
par Ar-S

Code : Tout sélectionner

 	
 	 	Enumeration #PB_Compiler_EnumerationValue 
	#ouvre_fenetreprincipal 
	EndEnumeration 
	 
	Enumeration #PB_Compiler_EnumerationValue 
	#Button_0 
	#Button_1 
	#ListIcon_0 
	#String_0 
	#String_1 
	EndEnumeration 
	 
	 
	Procedure Initouvre_fenetreprincipal() 
	OpenWindow(#ouvre_fenetreprincipal, 0, 0, 670, 470, "cours", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_ScreenCentered) 
	ButtonGadget(#Button_0, 30, 100, 120, 50, "ajouter") 
	ButtonGadget(#Button_1, 330, 100, 120, 50, "retirer") 
	ListIconGadget(#ListIcon_0, 30, 170, 420, 270, "mes courses", 100, #PB_ListIcon_CheckBoxes) 
	 
	StringGadget(#String_0, 30, 60, 120, 30, "tapez votre texte") 
	StringGadget(#String_1, 330, 60, 120, 30, "tapez votre texte") 
	EndProcedure 
	 

	initouvre_fenetreprincipal() 
	NbrCourse = 0
	
	 
	Repeat 
	  event=WaitWindowEvent() 
	    If event = #PB_Event_Gadget 
	      Select EventGadget () 
	          Case #Button_0 
              	AddGadgetItem(#ListIcon_0,-1,GetGadgetText(#String_0)) 

	Case #Button_1 
;/////////////// ARS ////////////////
	For a=CountGadgetItems(#ListIcon_0) - 1 To 0 Step -1
	            	
	  If GetGadgetItemState(#ListIcon_0, a) = #PB_ListIcon_Checked   
	       RemoveGadgetItem(#ListIcon_0,a) 
	  EndIf 
	
	Next 
	 
	EndSelect 
	EndIf 
	 
	Until event=#PB_Event_CloseWindow 
	 
	 

Re: suppression des items dans ListIconGadget

Publié : ven. 18/janv./2013 15:56
par yumeria
j'ai tester la solution que tu m'as proposer.
maintenant ça marche.
et dire que j'ai perdu tout un après-midi a essayer de résoudre ce problème.
pas si facile quand on débute.
j'avais pas pensé a cette solution.
merci beaucoup.

Re: suppression des items dans ListIconGadget

Publié : ven. 18/janv./2013 16:04
par Ar-S
Si ton problème est résolu, édite ton 1er titre et ajoute un petit [Resolu] devant.
Content d'avoir pu t'aider.