Ajouter une barre de défilement (scrollbar down)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 612 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

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
33
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;
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
29
Il fallait y penser !
Bravo.

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.