AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Progressbars ist Listview scrollen nicht mit

Ein Thema von Van HelF · begonnen am 15. Okt 2007 · letzter Beitrag vom 19. Okt 2007
Antwort Antwort
Van HelF

Registriert seit: 24. Okt 2005
Ort: Karlsbrunn
195 Beiträge
 
Delphi 7 Personal
 
#1

Progressbars ist Listview scrollen nicht mit

  Alt 15. Okt 2007, 23:01
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:
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;
Mit diesem Code ergibt sich das gleiche problem
Delphi-Quellcode:
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
Gibt es eine möglichkeit die progressbars so hinzuzufügen, das diese autom. mitscrollen?
  Mit Zitat antworten Zitat
Van HelF

Registriert seit: 24. Okt 2005
Ort: Karlsbrunn
195 Beiträge
 
Delphi 7 Personal
 
#2

Re: Progressbars ist Listview scrollen nicht mit

  Alt 19. Okt 2007, 12:47
niemand eine idee
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Progressbars ist Listview scrollen nicht mit

  Alt 19. Okt 2007, 14:54
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.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:33 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