![]() |
Tchart Hintergrund abschnittsweise einfärben
Hi,
ist es bei Tchart möglich, bzw. gibt es eine Funktion mit der man den Hintergrund Abschnittsweise einen andere Farbe zuzweisen, z.B. Gerade Wochen rot, ungerade weiß, kann. Danke Ralf |
Re: Tchart Hintergrund abschnittsweise einfärben
Hallo th_bone,
eine direkte funktion gibt es dafür nicht aber du kannst das selbst zeichnen. Hier ein Ausschnitt aus einem meiner Programme. Ich fülle hier mehrer Bereiche des Chart bevor die Achsen und Serien gezeichnet werden in diesem Fall mit Gradient. Ein normales FillRect tuts natürlich auch mfg cg
Delphi-Quellcode:
procedure TForm_Schema.Chart1BeforeDrawAxes(Sender: TObject);
var x1,x2,y1,y2 : integer; begin if not (onCalculate or onPrint) then begin Chart1.Canvas.ClipRectangle(Chart1.ChartRect); try x1:=Chart1.BottomAxis.CalcPosValue (Chart1.BottomAxis.Minimum-10); x2:=Chart1.BottomAxis.CalcPosValue (Chart1.BottomAxis.Maximum+10); y1:=Chart1.LeftAxis.CalcPosValue (MaxFlaechen+0.5); y2:=Chart1.LeftAxis.CalcPosValue (0); Chart1.Canvas.GradientFill(Rect(x1,y1,x2,y2),clWhite,clMoneyGreen,gdTopBottom); If MaxVerkauf>0 then begin y1:=Chart1.LeftAxis.CalcPosValue (MaxFlaechen+0.5); y2:=Chart1.LeftAxis.CalcPosValue (MaxVerkauf+0.5); Chart1.Canvas.GradientFill(Rect(x1,y1,x2,y2),clMoneyGreen,clWhite,gdTopBottom); end; if MaxVerkauf>0 then y1:=Chart1.LeftAxis.CalcPosValue (MaxVerkauf+0.5) else y1:=Chart1.LeftAxis.CalcPosValue (MaxFlaechen+0.5); y2:=Chart1.LeftAxis.CalcPosValue (Chart1.LeftAxis.Maximum); Chart1.Canvas.GradientFill(Rect(x1,y1,x2,y2+1),clWhite,clMoneyGreen,gdTopBottom); finally Chart1.Canvas.UnClipRectangle; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 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