Progressbar dans tlistview

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 344 fois - Téléchargée 28 fois

Contenu du snippet

Ceci est ma premiere source.

Voici un petit bout de code pour inclure une TProgressBar dans un TListView
Vous pouvez biensur l'améliorer en me fesant par de vos modification

Voila

Source / Exemple :


procedure TForm1.BitBtn1Click(Sender: TObject);
var
  r: TRect;
  pb: TProgressBar;
begin
  Listview1.Columns.Add.Width := 100;
  Listview1.Columns.Add.Width := 200;
  Listview1.ViewStyle         := vsReport;
  Listview1.Items.Add.Caption := 'Text';

  r := Listview1.Items[0].DisplayRect(drBounds);
  r.Left  := r.Left + Listview1.columns[0].Width;
  r.Right := r.Left + Listview1.columns[1].Width;

  pb := TProgressBar.Create(Self);
  pb.Parent := Listview1;
  pb.BoundsRect := r;
  pb.Position := 30;
  Listview1.Items[0].Data := pb;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var
  pb: TProgressBar;
begin
  Listview1.Items[0].Data := pb;
  pb := TProgressBar(Listview1.Items[0].Data);
  pb.StepIt; 
end;

A voir également

Ajouter un commentaire

Commentaire

Messages postés
17
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
14 août 2004

Je voulais ajouter un boutton dans un listview et j'ai trouvé cette source.
Le principe avait l'air pas trop mal j'ai donc essayé et j'ai trouvé des problèmes,
notament quand le listview à une ScrollBar, les éléments ajoutés ne se déplacent pas en même tant que le reste
en faite, ils restent figés.

Pour corriger cela, il faut aller dans "CustomDrawItem"
var
rec: TRect;
begin
if item.Data <> nil then begin
rec := item.DisplayRect(drBounds);
rec.Left := rec.Left + Sender.Column[0].Width; // car on met le boutton dans la deuxième colonne
TButton(item.Data).BoundsRect := rec;
end;
end;

Voilà déjà un problème de résolu ^_^

.: DarkSage :.

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.