ElseIf GadgetID = #ajouter_sel
;Debug "GadgetID: #ajouter_sel"
For n = 0 To CountGadgetItems(#explorateur_list) - 1
If GetGadgetItemState(#explorateur_list, n) = #PB_Explorer_Selected
AddGadgetItem(#selection_list,-1,GetGadgetItemText(#explorateur_list,n,0))
EndIf
Next n
mais rien ne se passe.
PS : Quand j'ajoute tout les éléments, ça fonctionne : le ListIconGadget se remplit bien :
ElseIf GadgetID = #ajouter_tout
;Debug "GadgetID: #ajouter_tout"
For n = 0 To CountGadgetItems(#explorateur_list) - 1
AddGadgetItem(#selection_list,-1,GetGadgetItemText(#explorateur_list,n,0))
Next n
OpenWindow(0, 0, 0, 400, 300, #Pb_Window_SystemMenu | #PB_Window_ScreenCentered, "GetGadgetItemState()")
CreateGadgetList(WindowID())
ExplorerListGadget(0, 0, 0, 200, 300, "C:\")
ListViewGadget(1, 200, 0, 200, 300)
Repeat
Select WindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case 0
For n = 0 To CountGadgetItems(0)
; Enfait GetGadgetItemState() pour une ExplorerList, qd un element est selection, il précise aussi si c'est un fichier
; ou un repertoire, donc on doit tester les 2 combinaison.. Le hic c'est qu'il trouve 2 evenement sur l'ExplorerList :s
If GetGadgetItemState(0, n) = (#PB_Explorer_Selected | #PB_Explorer_File) Or GetGadgetItemState(0, n) = (#PB_Explorer_Selected | #PB_Explorer_Directory)
AddGadgetItem(1, -1, GetGadgetItemText(0, n, 0))
EndIf
Next
Case 1
For n = 0 To CountGadgetItems(1)
If GetGadgetItemState(1, n) = 1
RemoveGadgetItem(1, n)
EndIf
Next
EndSelect
Case #WM_Close
Quit = #True
EndSelect
Until Quit = #True
End
Alors si j'ai bien compris, le GetGadgetItemState() renvoi, pour l'ExplorerListGadget, 3 valeurs combinées ce qui est indiqué dans l'aide d'ailleur mais l'aide ne dit pas comment s'en servir...
Il faut donc prendre en compte si l'élément est un répertoire ou un fichier.