Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

Progressbar in ListView beim Scrollen neu positionieren

  Alt 7. Sep 2009, 10:20
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! <<
  Mit Zitat antworten Zitat