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

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

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

Message 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 !
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
venom
Messages : 3137
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

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

Message 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





@++
Dernière modification par venom le ven. 27/déc./2019 15:53, modifié 1 fois.
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

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

Message 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.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

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

Message 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 !
Win7 (x64) 64 bits Pb 5.72
Répondre