Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TMS TAdvChartView, aktuellen Balken (TChartPoint) einfärben (https://www.delphipraxis.net/152285-tms-tadvchartview-aktuellen-balken-tchartpoint-einfaerben.html)

hoika 17. Jun 2010 13:19

TMS TAdvChartView, aktuellen Balken (TChartPoint) einfärben
 
Hallo #,

also das einfachste geht mit dem Teil nicht ;(

Per Klick auf einen Balken (Bar) will ich, dass dieser eingefärbt wird.

Der folgende Code setzt zumindestens schon mal den Marker (an jeder Ecke des Bars ein häßlicher Kreis),
das wäre die Zeile mit dem SelectedIndex

Delphi-Quellcode:
procedure TForm1.ChartMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  ChartSeriePoint: TChartSeriePoint;
  ChartPoint: TChartPoint;
begin
  ChartSeriePoint:= Chart.XYToSeriePoint(X, Y, 0);

  if ChartSeriePoint.Serie<0 then Exit;
  if ChartSeriePoint.Point<0 then Exit;

  Chart.BeginUpdate;
  try
    ChartPoint:= Chart.Panes[0].Series[ChartSeriePoint.Serie].Points[ChartSeriePoint.Point];

    Chart.Panes[0].Series[ChartSeriePoint.Serie].SelectedMarkColor:= clBlue;


    ChartPoint.Color:= BARCOLORGELB;
    ChartPoint.ColorTo:= BARCOLORGELB;


    Chart.Panes[0].Series[ChartSeriePoint.Serie].SelectedIndex:= ChartSeriePoint.Point;
  finally
    Chart.EndUpdate;
  end;
end;
Ich will aber die Farbe ändern, und das geht nicht ?

Arbeitet hier überhaupt jemand mit TMS-Charts ? ;( ;)



Selbstanwort: ;)
statt
Delphi-Quellcode:
ChartPoint:= Chart.Panes[0].Series[ChartSeriePoint.Serie].Points[ChartSeriePoint.Point];
ChartPoint.Color:= XXX
muss man direkt
Delphi-Quellcode:
Chart.Panes[0].Series[ChartSeriePoint.Serie].Points[ChartSeriePoint.Point].Color:= clXXX;
schreiben.

Grund:
Bei Points handelt es sich um ein Array aus Record, nicht Klassen.

Das ChartPoint:= Chart. kopiert den Record in meinen eigenen lokalen,
der originale wird nicht angerührt.




Frage an Daniel:
Beim "Bearbeiten" fehlt u.a. der Delphi-Button (
Delphi-Quellcode:
 /
Button ?



Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 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