Hallo,
mittels folgendem Code positionier ich in die 5. Spalte einer
ListView (Report) eine
Progressbar:
Delphi-Quellcode:
with ListView_Dateien do
begin
//ProgressBar in der jeweiligen Zeile in der Spalte fünf erzeugen
PB_Rect := Items[Line].DisplayRect(drBounds);
with PB_Rect do
begin
Left := Left + Columns[0].Width + Columns[1].Width +
Columns[2].Width + Columns[3].Width;
Right := Pred(Left + Columns[4].Width);
Bottom := Pred(Bottom);
end;
//ProgressBar beschreiben
with PB_Status do
begin
BoundsRect := PB_Rect;
Visible := true;
Min := 0;
Max := 100;
end;
end;
Was auch gut funktioniert - nur kann ich zu diesem Zeitpunkt die
ListView scrollen. Leider wird
dann die
Progressbar nicht mehr in der dementsprechenden Zeile angezeigt, sondern bleibt einfach
an dem letzten Platz liegen (was ja klar ist, weil die Position absolut ist).
Wir kann ich nun die
Progressbar entweder:
1. fix einer Zelle zuweisen, ohne selbst auf das Positionieren eingehen zu müssen oder
2. beim Scrollen die Progressbar-Positionen neu berechnen und anzeigen lassen?
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<