Progressbar dans tlistview

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 584 fois - Téléchargée 30 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
cs_DarkSage Messages postés 17 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 14 août 2004
14 août 2004 à 16:15
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.