![]() |
Progressbars ist Listview scrollen nicht mit
Hallo,
ich habe folgenden problem, ich erzeuge mit folgendem Code progressbars in einer listview. Scrollt man aber nun nach unten bleiben die progressbars "stehen" und passen somit nicht mehr zum eintrag. (Ich habe auch schon etliche beiträge gelesen, jedoch beziehen sich diese alle auf das änden der spaltengröße)
Delphi-Quellcode:
Mit diesem Code ergibt sich das gleiche problem
procedure AddProgressbar(lv:Tlistview);
var r: TRect; begin r := lv.Items[lv.items.Count-1].DisplayRect(drBounds); r.Left := r.Left + lv.columns[0].Width+lv.columns[1].Width+lv.columns[2].Width+lv.columns[3].Width+1; r.Right := r.Left + lv.columns[4].Width-1; pb:=TProgressbar.Create(Nil); pb.Parent:=lv; pb.BoundsRect:=r; pb.Position:=0; pb.Height:=pb.Height-1; pb.Smooth:=true; pb.DoubleBuffered:=true; lv.Items[lv.items.Count-1].Data:=pb; end;
Delphi-Quellcode:
Gibt es eine möglichkeit die progressbars so hinzuzufügen, das diese autom. mitscrollen?
procedure TForm1.AddItemButtonClick(
Sender: TObject); const pbColumnIndex = 1; pbMax = 100; var li : TListItem; lv : TListView; pb : TProgressBar; pbRect : TRect; begin lv := ListView1; //create new ListItem (for the lv) li := lv.Items.Add; li.Caption := 'Item ' + IntToStr(lv.Items.Count); //create a ProgressBar, place it in the second column pb := TProgressBar.Create(nil); pb.Parent := lv; li.Data := pb; pbRect := li.DisplayRect(drBounds); pbRect.Left := pbRect.Left + lv.Columns[-1 + pbColumnIndex].Width; pbRect.Right := pbRect.Left + lv.Columns[pbColumnIndex].Width; pb.BoundsRect := pbRect; end; //AddItemButtonClick |
Re: Progressbars ist Listview scrollen nicht mit
niemand eine idee :(
|
Re: Progressbars ist Listview scrollen nicht mit
ich denke dir wird nix anders übrig bleiben die Komponenten im onPaint Ereignisse selbst zu setzten.
Die ListView hat eine TCanvas Eigenschaft, die wieder rum hat eine Eigenschaft: ClipRect. Welche dir evlt. weiter helfen kannst. Du müsstest jetzt nur noch alle Komponenten auf ClipRect.Top setzten. Aber das geht weiß ich nicht.... Wobei ich glaube die PB müsste auch der ListView angehören, dazu. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz