AGB  ·  Datenschutz  ·  Impressum  







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

TListView.Canvas.Brush.Color - Problem!

Ein Thema von Sven M. · begonnen am 26. Mai 2009 · letzter Beitrag vom 27. Mai 2009
Antwort Antwort
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#1

TListView.Canvas.Brush.Color - Problem!

  Alt 26. Mai 2009, 11:41
Hallo zusammen,
ich versuche in die erste Spalte einer ListView einen Kreis mit folgendem Code zu zeichnen:

Delphi-Quellcode:
procedure TfrmGraphics.lvMeasurementsAdvancedCustomDraw(
  Sender: TCustomListView; const ARect: TRect; Stage: TCustomDrawStage;
  var DefaultDraw: Boolean);
var rect: TRect;
    i, j: integer;
begin
  if Stage=cdPostPaint then
  begin
    for i:=0 to lvMeasurements.Items.Count-1 do //lvMeasurements ist das ListView
    begin
      for j:=0 to high(arr) do //arr ist ein Array von Objekten eigener Klassen
      begin
        if arr[j].Name=lvMeasurements.Items.Item[i].SubItems.Strings[0]
          then
        begin
          case arr[j].MType of
            abc:
            begin
              lvMeasurements.Canvas.Pen.Color:=clgreen;
              lvMeasurements.Canvas.Brush.Color:=clgreen;
            end;

            efg:
            begin
              lvMeasurements.Canvas.Pen.Color:=clred;
              lvMeasurements.Canvas.Brush.Color:=clred;
            end;

            hij:
            begin
              lvMeasurements.Canvas.Pen.Color:=clblack;
              lvMeasurements.Canvas.Brush.Color:=clblack;
            end;
          end;
          lvMeasurements.Canvas.Brush.Style:=bssolid;
          lvMeasurements.Canvas.Pen.Style:=pssolid;
          rect:=lvMeasurements.Items.Item[i].DisplayRect(drBounds);
          lvMeasurements.Canvas.Ellipse(rect.Left+18, rect.Top, rect.Left+32, rect.Top+14);
        end;
      end;
    end;
  end;
end;
Das Problem, das ich nun habe, ist, dass die Ellipsen zwar gezeichnet werden, jedoch die Brush.Color immer vom ersten Element stammt. Komischerweise. Denn wenn ich durchgehen mit dem Debugger, zeigt er mir den gleichen Farbwert an, wie für die Pen.Color, die komischerweise korrekt ist.
Habt ihr 'ne Idee, woran's hapert?


Beste Grüße,
Sven M.
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: TListView.Canvas.Brush.Color - Problem!

  Alt 27. Mai 2009, 14:51
Hat keiner 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 20:19 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