Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListView mit integrierter ProgressBar (https://www.delphipraxis.net/28803-listview-mit-integrierter-progressbar.html)

Stefan H. 30. Aug 2004 15:17


ListView mit integrierter ProgressBar
 
Hallo Leute,

ich möchte gerne eine ProgressBar in einem ListView (vsReport) darstellen.
Im großen und ganzen funktioniert das Teil aber nur solange die Anzahl der Listeneinträge nicht den ListView-Bereich übersteigt. Ich meine damit, solange kein Scrollbalken zum vertikalen scrollen erscheint denn dann werden meine ProgressBar's nicht mit gescrollt.
Meine Frage: Wie kann man die ProgressBar's mit nach unten scrollen?

Hier der Code zum testen.

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    ListView1: TListView;
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}


procedure TForm1.FormShow(Sender: TObject);
var
  i: Integer;
  x: Integer;
  r: TRect;
  pb: TProgressBar;
begin
  Listview1.ViewStyle        := vsReport;
  Listview1.Columns.Add.Width := 100;
  Listview1.Columns.Add.Width := 200;

  for i:=0 to 200 do
  begin
    x := Random(100);

    Listview1.Items.Add.Caption := 'Wert: ' + IntToStr(x);

    r := Listview1.Items[i].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 := x;
    Listview1.Items[i].Data := pb;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with Form1 do
  begin
    Top := 200;
    Left := 200;
    Height := 250;
    Width := 400;
  end;
  with ListView1 do
  begin
    Left := 16;
    Top := 16;
    Height := 185;
    Width := 360;
  end;
end;

end.

Danke im Voraus!

MfG
Stefan H.[df]

Luckie 30. Aug 2004 15:44

Re: ListView mit integrierter ProgressBar
 
Das muss ein deja-vu sein. das hatten wir doch jetzt innerhalb der letzten Woche bestimmt schon zweimal. :gruebel:

mytar 30. Aug 2004 15:48

Re: ListView mit integrierter ProgressBar
 
Stimmt genau!

Einmal hier:

Statusbar in der ListView

und hier:

Progressbar in ListView einbinden

Stefan H. 30. Aug 2004 17:20

Re: ListView mit integrierter ProgressBar
 
Hallo Luckie und Mytar! :hi:

Sorry, wenn ich noch mal einen ähnlichen Beitrag zu dem Thema ListView und ProgressBar schreibe.
Mein Problem liegt nicht darin wie ich eine ProgressBar in ein ListView bekomme sondern eher darin, dass wenn ich mein ListView nach unten scrolle, dass dann die ProgreBar's nicht mitgescrollt werden. Deshalb habe ich auch ein kleines Beispielprogramm gemacht damit derjenige der mir helfen möchte auch das Problem selber anschauen kann. Dieses Problem müssten eigentlich die anderen ebenfalls haben (...oder bin ich nur zu blöd???) :wall:

Vielleicht findet sich ja noch jemand, der dieses Problem mit dem VERTIKALEN SCROLLEN schon einmal gelöst hat. :coder2:

Gruß,
Stefan H.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz