Question sur Listicongadget

Sujets variés concernant le développement en PureBasic
Cagou-77
Messages : 79
Inscription : dim. 15/août/2004 13:27

Question sur Listicongadget

Message 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
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message 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
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Merci Gnozal, Je vais essayer

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

http://purebasic.hmt-forum.com/viewtopi ... dgetcolumn
Répondre