![]() |
TListView.Canvas.Brush.Color - Problem!
Hallo zusammen,
ich versuche in die erste Spalte einer ListView einen Kreis mit folgendem Code zu zeichnen:
Delphi-Quellcode:
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.
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; Habt ihr 'ne Idee, woran's hapert? Beste Grüße, Sven M. |
Re: TListView.Canvas.Brush.Color - Problem!
Hat keiner eine Idee?:(
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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