Soyez le premier à donner votre avis sur cette source.
Snippet vu 4 584 fois - Téléchargée 30 fois
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;
14 août 2004 à 16:15
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.