Einzelnen Beitrag anzeigen

m0sch3r

Registriert seit: 29. Mär 2004
121 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Statusbar in die Listview

  Alt 21. Aug 2004, 11:48
Danke
habe das Problemm schon gelöst.....)

Procedure die mit den Daten ein Progressbar in die Listview hinzufugt
Delphi-Quellcode:
procedure AddFileToDownloadListView(NewDownload : TDownloadFile);
var
  i, n : integer;
  Rechteck : TRect;

begin
     for i := 0 to form1.DownloadFilesListView.Items.Count do
          begin
            form1.DownloadFilesListView.Items.Add;
            if Form1.DownloadFilesListView.Items[i].Caption = 'then
               begin
               Form1.DownloadFilesListView.Items[i].Caption := NewDownload.DFile.SFilename;
               Form1.DownloadFilesListView.Items[i].SubItems.add( NewDownload.DFile.SArtist); //:= ;
               Form1.DownloadFilesListView.Items[i].SubItems.add(NewDownload.DFile.STitle);
               //Hinzufuegen der Progressbar.
               RechtEck := form1.DownloadFilesListView.Items[i].DisplayRect(drBounds);
               RechtEck.Left := Form1.DownloadFilesListView.columns[0].Width + Form1.DownloadFilesListView.columns[1].Width + Form1.DownloadFilesListView.Columns[2].Width;
               RechtEck.Right := RechtEck.Left + Form1.DownloadFilesListView.columns[3].Width;

               GlobalPB := TProgressBar.Create(GlobalPB );//GlobalPB = globale variable vom TProgressbar
               GlobalPB.Parent := form1.DownloadFilesListView;
               GlobalPB.BoundsRect := RechtEck;

               GlobalPB.Position := 30;
               Form1.DownloadFilesListView.Items[i].Data := GlobalPB;
               end; // if
          end; // for
end; // AddFileToDownloadListView
das einzige Problemm das beim ziehen der Spalte dir Progressbar stehen bleibt und sich nicht anpasst..das OnResize Erreignis tritt komischerweise nicht gleich beim resizen sondern paar Sekunden !!! spater...

die Funktion zur Grösenanpasung der Progressbar bei ändern der Grösse..
Delphi-Quellcode:
procedure PBRefreshOnDownloadListView();
var
   i, n : integer;
   RechtEck : Trect;
begin
     for i:=0 to form1.DownloadFilesListView.Items.Count - 1 do
          begin
          PB := Form1.DownloadFilesListView.Items[i].Data; //PB globaler Progressbar.

          RechtEck := form1.DownloadFilesListView.Items[i].DisplayRect(drBounds);
          RechtEck.Left := Form1.DownloadFilesListView.columns[0].Width + Form1.DownloadFilesListView.columns[1].Width + Form1.DownloadFilesListView.Columns[2].Width;
          RechtEck.Right := RechtEck.Left + Form1.DownloadFilesListView.columns[3].Width;
          PB.BoundsRect := RechtEck;
          form1.DownloadFilesListView.Items[i].Data := PB;
          end; // for
end;

ich hoffe ich konnte damit jemandem helfen.....)))



Sergej
  Mit Zitat antworten Zitat