Afficher dernier element LisIconGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
venom
Messages : 3071
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Afficher dernier element LisIconGadget

Message par venom »

Bonsoir a tous,

Voilà je cherche un moyen me permettant de toujours afficher la dernière ligne d'un ListIconGadget.

Je vous ai fait un petit code pour mieux comprendre.
Dans ce dernier vous avez un bouton qui permet d'ajouté des éléments a une ListIconGadget. Le problème, c'est qu'a un moment (quand il y a plus de valeur que la taille du gadget) une scrollbar apparait et les éléments s'ajoute "hors gadget". Moi je souhaiterais que la scroll soit toujours en bas :D

Avez-vous une idée ? D'avance merci.

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- gadgets Constants
Enumeration
  #LIG
  #BG
EndEnumeration

  If OpenWindow(#Window_0, 0, 0, 800, 600, "", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
   ListIconGadget(#LIG, 10, 10, 200, 200, "TitrePremiereColonne", 195, 0)
    For a = 0 To 8
     AddGadgetItem(#LIG, a, "Texte "+a , 0, 0)
    Next 
    
   ButtonGadget(#BG, 10, 220, 200, 20, "Ajouter un element", 0)
  EndIf 

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
          
        Case #BG
          AddGadgetItem(#LIG, CountGadgetItems(#LIG)+1, "Texte "+CountGadgetItems(#LIG) , 0, 0)

      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow





@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
cage
Messages : 506
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Afficher dernier element LisIconGadget

Message par cage »

Bonsoir,

Code : Tout sélectionner

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
         
        Case #BG
          AddGadgetItem(#LIG, CountGadgetItems(#LIG)+1, "Texte "+CountGadgetItems(#LIG) , 0, 0)
          SetGadgetState(#LIG, CountGadgetItems(#LIG)-1) ; <--- A AJOUTER

      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
CAGE
■ Win10 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.00 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
venom
Messages : 3071
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Afficher dernier element LisIconGadget

Message par venom »

Merci cage.

J'avais bien vue la fonction SetGadgetState dans l'aide mais ça ne fonctionner pas (je n'avais pas mis le -1) :oops: :roll:

Mais c'est logique. Comme le 1er ID commence a 0 :lol:





@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
microdevweb
Messages : 1798
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Afficher dernier element LisIconGadget

Message par microdevweb »

@venom,

Ne pas oublier aussi d'ajouter le flag #PB_ListIcon_AlwaysShowSelection
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
venom
Messages : 3071
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Afficher dernier element LisIconGadget

Message par venom »

microdevweb a écrit :@venom,

Ne pas oublier aussi d'ajouter le flag #PB_ListIcon_AlwaysShowSelection
Merci, mais dans mon cas je n'en ai pas besoin :wink:






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Répondre