Page 1 sur 1

[RESOLU] Cacher et Montrer une colonne d'une ListIconGadget

Publié : jeu. 26/déc./2019 22:22
par omega
Bonsoir à tous

CACHER et MONTRER une colonne d'une listIconGadget (remplie), tel est mon problème. Supprimer une colonne pour la cacher puis la re-créer puis réafficher le contenu de listicongadget c faisable mais c'est trop embêtant et lourd. Y -a t il une solution plus simple e surtout plus rapide?
Merci et bonne année !

Re: [RESOLU] Cacher et Montrer une colonne d'une ListIconGad

Publié : jeu. 26/déc./2019 23:43
par venom
Bonjour omega,

Je vois dans ton titre que tu as mis [RESOLU]. Je suppose que tu as trouver une solution ? si oui partage là, ça peut être utile a d'autres. :wink:

En tout cas, voici ma contribution, uniquement en redimensionnant la colonne a 0. ça n'efface rien a la colonne (et la gestion devient bien plus simple). :wink:

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- gadgets Constants
Enumeration
  #ListIcon_0
  #ButtonGadget_0
EndEnumeration

  If OpenWindow(#Window_0, 0, 0, 420, 150, "", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
    ListIconGadget(#ListIcon_0,  10,  10, 400, 100, "Colonne 1", 100) ; creer une ListIconGadget
     AddGadgetColumn(#ListIcon_0, 1, "Colonne 2", 100) ; ajoute une colonne
      AddGadgetColumn(#ListIcon_0, 2, "Colonne 3", 100) ; ajoute une colonne
     
    For b = 0 To 3 ; ajouter 4 éléments à chaque ligne
     AddGadgetItem(#ListIcon_0, b, "Elément 1"+Chr(10)+"Elément 2"+Chr(10)+"Elément 3"+Chr(10)+"Elément 4")
    Next
     
     
    ButtonGadget(#ButtonGadget_0, 10, 120, 400, 20, "Masquer la colonne 2", #PB_Button_Toggle ) ; creer un ButtonGadget de type toggle

  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
         
        Case #ButtonGadget_0
         If GetGadgetState(#ButtonGadget_0) = 0 ; si le Button est "relacher"
          SetGadgetItemAttribute(#ListIcon_0, 0,  #PB_ListIcon_ColumnWidth, 100, 1) ; on redimentionne la colonne 2 a 100
           SetGadgetText(#ButtonGadget_0, "Masquer la colonne 2") ; on modifie le nom du button
         ElseIf GetGadgetState(#ButtonGadget_0) = 1 ; si le button est "séléctionner"
          SetGadgetItemAttribute(#ListIcon_0, 0,  #PB_ListIcon_ColumnWidth, 0, 1) ; on redimentionne la colonne 2 a 0 
           SetGadgetText(#ButtonGadget_0, "Afficher la colonne 2") ; on modifie le nom du button
         EndIf

      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow





@++

Re: [RESOLU] Cacher et Montrer une colonne d'une ListIconGad

Publié : ven. 27/déc./2019 8:24
par Micoute
Merci pour le partage de cette petite manip fort utile.

Bonne et heureuse année à tous les membres de ce forum et que tous vos vœux soient exaucés.

Re: [RESOLU] Cacher et Montrer une colonne d'une ListIconGad

Publié : sam. 28/déc./2019 16:33
par omega
@Venon

Oui, j'ai effectivement trouvé la solution qui est en fait exactement la même que celle que tu viens de proposer
(redimensionnement de la colonne à zéro).

Merci beaucoup pour le partage

Heureuse année à tous les membres de ce forum !