Ajouter une barre de défilement (scrollbar down)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 511 fois - Téléchargée 32 fois

Contenu du snippet

Ajouter une barre de défilement (ScrollBar down) en bas d'une TListBox tout en respectant la longeur des items.

Source / Exemple :


var
  ax, bx, cx, dx: integer;
begin
  dx := 0;
  with Listbox1 do
  begin
    for ax := 0 to Items.Count -1 do
    begin
      bx := Canvas.Textwidth(Items[ax]);
      if(bx > Listbox1.Width)and(bx > dx)then
        dx := bx;
    end;
    Perform(LB_SETHORIZONTALEXTENT,dx+2,0);
  end;
end;

A voir également

Ajouter un commentaire

Commentaires

cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
24 -
Il fallait y penser !
Bravo.
f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26 -
on peut placer le code directement dans l'evenement OnDrawItem pour aller plus vite :

interface

var
HScrollWidth : integer;

implementation

procedure ListBoxDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with listbox1 do begin
if Canvas.Textwidth(Items[index]) > HScrollWidth then
HScroolWidth := canvas.Textwidth(Items[index]);
Perform(LB_SETHORIZONTALEXTENT, HScrollWidth+8, 0);
end;
end;

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.