Salut à tous
peut-on crée une listicongadget sans colonne, et ajouter les colonnes aprés.
ListIconGadget(#Listicon_0, 0, 20, 221, 220,"", -1, #PB_ListIcon_FullRowSelect | #PB_ListIcon_GridLines )
For k=0 To 2
AddGadgetColumn(#Listview_0, k, StringField("ID;LIBELLE", k, ";"), 70)
Next
dans mon cas il me crée une colonne doublon
Merci d'avance pour vos réponses
Question sur Listicongadget
La commande Listicongadget() cré toujours une colonne
Tu peux utiliser cette commande et tout de suite derrière supprimer la colonne avec la commande RemoveGadgetColumn(#Gadget, Colonne), ensuite tu peux créer tes colonnes avec ta boucle.
RemoveGadgetColumn() ne fonctionne pas pour la 1ere colonne avec WIn98 (c'est un problème de MS et pas de PB) , avec Millenium, WIn2000 et les différentes versions de NT, je ne sais pas
Tu peux utiliser cette commande et tout de suite derrière supprimer la colonne avec la commande RemoveGadgetColumn(#Gadget, Colonne), ensuite tu peux créer tes colonnes avec ta boucle.
RemoveGadgetColumn() ne fonctionne pas pour la 1ere colonne avec WIn98 (c'est un problème de MS et pas de PB) , avec Millenium, WIn2000 et les différentes versions de NT, je ne sais pas
En fait, en insistant on y arrive, même sous Win98 (si je me rappelle bien). J'ai utilisé ce code qui tente d'effacer toutes les colonnes d'un ListIconGadget et ne quitte que si toutes les colonnes sont effacées :Denis a écrit :RemoveGadgetColumn() ne fonctionne pas pour la 1ere colonne avec WIn98 (c'est un problème de MS et pas de PB) , avec Millenium, WIn2000 et les différentes versions de NT, je ne sais pas
Code : Tout sélectionner
Procedure.l CountColumns(GadgetNumber.l)
Protected Header.l, TotalColumns.l
If IsGadget(GadgetNumber)
Header = SendMessage_(GadgetID(GadgetNumber), #LVM_GETHEADER, 0, 0)
TotalColumns = SendMessage_(Header, #HDM_GETITEMCOUNT, 0, 0)
EndIf
ProcedureReturn TotalColumns
EndProcedure
Procedure VideListIcon(ListIcon.l)
SendMessage_(GadgetID(ListIcon), #WM_SETREDRAW, #False, 0)
SendMessage_(GadgetID(ListIcon), #LVM_DELETEALLITEMS , 0, 0)
NbColumns = CountColumns(ListIcon)
While NbColumns
If NbColumns
For ColumnIndex = 0 To NbColumns - 1
SendMessage_(GadgetID(ListIcon), #LVM_DELETECOLUMN, ColumnIndex, 0)
Next
EndIf
NbColumns = CountColumns(ListIcon)
Wend
SendMessage_(GadgetID(ListIcon), #WM_SETREDRAW, #True, 0)
EndProcedure
Merci Gnozal, Je vais essayer
Même Fred s'était cassé les dents dessus
http://purebasic.hmt-forum.com/viewtopi ... dgetcolumn
Même Fred s'était cassé les dents dessus

http://purebasic.hmt-forum.com/viewtopi ... dgetcolumn