Page 1 sur 1

Question sur Listicongadget

Publié : dim. 18/déc./2005 13:36
par Cagou-77
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

Publié : dim. 18/déc./2005 18:09
par Anonyme2
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

Publié : lun. 19/déc./2005 12:40
par gnozal
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
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 :

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

Publié : lun. 19/déc./2005 14:26
par Anonyme2
Merci Gnozal, Je vais essayer

Même Fred s'était cassé les dents dessus :D

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