AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Gauges in Listview: Problem beim Scrollen und Navigieren
Thema durchsuchen
Ansicht
Themen-Optionen

Gauges in Listview: Problem beim Scrollen und Navigieren

Ein Thema von Andreas H. · begonnen am 17. Jan 2008 · letzter Beitrag vom 18. Jan 2008
Antwort Antwort
Benutzerbild von Andreas H.
Andreas H.

Registriert seit: 3. Mär 2006
Ort: Schopfloch
163 Beiträge
 
Delphi 2006 Professional
 
#1

Gauges in Listview: Problem beim Scrollen und Navigieren

  Alt 17. Jan 2008, 09:49
Hallo,

mit folgendem Code füge ich in einer ListView eine Zeile mit einer Gauge ein.

Delphi-Quellcode:
  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;
Beim Scrollen, Navigieren in der ListView oder bei Refresh werden nicht die richtigen Gauges zum Item gezeichnet.
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
  Mit Zitat antworten Zitat
Benutzerbild von Andreas H.
Andreas H.

Registriert seit: 3. Mär 2006
Ort: Schopfloch
163 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Gauges in Listview: Problem beim Scrollen und Navigieren

  Alt 17. Jan 2008, 11:31
Hallo,

habs selber rausgefunden!

Da fehlt noch das OnCustomDrawSubItem der ListView:
Delphi-Quellcode:
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;
Hier wird die vertikale Position der Gauges angepasst.

Gruß Andreas
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#3

Re: Gauges in Listview: Problem beim Scrollen und Navigieren

  Alt 17. Jan 2008, 11:36
Zitat von Andreas H.:
Hier wird die vertikale Position der Gauges angepasst.
[OT]
Ich kenne Gauge nur in horizontaler Position
[/OT]
Konnte ich mir jetzt nicht verkneifen - wer's nicht verstehtt, bitte nicht nachfragen 8)
  Mit Zitat antworten Zitat
Benutzerbild von Andreas H.
Andreas H.

Registriert seit: 3. Mär 2006
Ort: Schopfloch
163 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Gauges in Listview: Problem beim Scrollen und Navigieren

  Alt 17. Jan 2008, 11:54
Ist Gauge blond?

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
  Mit Zitat antworten Zitat
Benutzerbild von Andreas H.
Andreas H.

Registriert seit: 3. Mär 2006
Ort: Schopfloch
163 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Gauges in Listview: Problem beim Scrollen und Navigieren

  Alt 18. Jan 2008, 11:44
Hallo,

hat denn niemand eine Idee?
  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:15 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