![]() |
Gauges in Listview: Problem beim Scrollen und Navigieren
Hallo,
mit folgendem Code füge ich in einer ListView eine Zeile mit einer Gauge ein.
Delphi-Quellcode:
Beim Scrollen, Navigieren in der ListView oder bei Refresh werden nicht die richtigen Gauges zum Item gezeichnet.
li:=LVMagazin.Items.add;
li.Caption:=t.ID; ... r:=li.DisplayRect(drBounds); for i:=0 to 4 do r.Left:=r.Left+LVMagazin.columns[i].Width; r.Right:=r.Left+LVMagazin.columns[5].Width; g:=TGauge.Create(Self); g.BackColor:=clRed; g.ForeColor:=clLime; g.Parent:=LVMagazin; g.BoundsRect:=r; g.Progress:=100-li.Index; li.Data:=g; Es sieht so auf, als ob die Gauges nicht nach dem ItemIndex gezeichnet werden sondern nach der angezeigten Zeilennummer. In der ersten sichtbaren Zeile wird die Gauge des erten Items (Index 0) gezeichnet, egal wie der Vert.Scrollbalken steht! Ich hoffe ich habe mich verständlich ausgedrückt. Was kann man da machen? Gruß Andreas |
Re: Gauges in Listview: Problem beim Scrollen und Navigieren
Hallo,
habs selber rausgefunden! Da fehlt noch das OnCustomDrawSubItem der ListView:
Delphi-Quellcode:
Hier wird die vertikale Position der Gauges angepasst.
var
g:TGauge; r:TRect; begin case SubItem of 5: begin DefaultDraw:=false; g:=TGauge(Item.Data); r:=g.BoundsRect; r.Top:=Item.DisplayRect(drBounds).Top; r.Bottom:=Item.DisplayRect(drBounds).Bottom; g.BoundsRect:=r; end; end; Gruß Andreas |
Re: Gauges in Listview: Problem beim Scrollen und Navigieren
Zitat:
Ich kenne Gauge nur in horizontaler Position :mrgreen: [/OT] Konnte ich mir jetzt nicht verkneifen :zwinker: - wer's nicht verstehtt, bitte nicht nachfragen 8) |
Re: Gauges in Listview: Problem beim Scrollen und Navigieren
Ist Gauge blond? :wink:
Zur Sache: leider funzt es immer noch nicht so richtig. Die Anzeige ist recht lam. Ist ja auch klar, weil die Gauges doppelt (vor und nach der Positionsänderung) gezeichnet werden. Und beim Raufscrollen wird ganz unten immer die Gauge des letzen Items angezeigt. Kennt denn jemand eine andere Lösung als die Gauge selbt zu zeichenen mit 2 Rechtecken und nem Text auf dem Canvas? Gruß Andreas |
Re: Gauges in Listview: Problem beim Scrollen und Navigieren
Hallo,
hat denn niemand eine Idee? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz