Einzelnen Beitrag anzeigen

delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#5

AW: Daten sollen im Chart hervorgehoben/markiert werden

  Alt 15. Mär 2019, 10:14
Hallo,
wenn ich mich in einem Grid auf einer Zelle befinde, dann soll der dazugehörige Wert im Chart hervorgehoben(markiert) werden.
Ist das irgendwie möglich?
Ja. Den Index holst du über 'OnCellClick' des DBGrid oder über 'OnDataChange'.
Zeichnen kannst du dann mit 'TChartSeries.AfterDrawValues'
und bei '3D-Ansicht' mit 'TChartSeries.BeforeDrawValues'.
Die Zeichenkoordinaten holst du mit
x := DeltaESeries.CalcXPos(1); // x-Position von ValueIndex
y := DeltaESeries.CalcYPos(1); // y-Position von ValueIndex
x := DeltaESeries.CalcXPosValue(1); // x-Position von Value
y := DeltaESeries.CalcYPosValue(1); // y-Position von Value
// Beispiel in etwa so:
procedure TMainForm.SeriesAfterDrawValues(Sender: TObject);
var x, y:Integer;
begin
x := Series.CalcXPos(Index); // x-Position von ValueIndex
y := Series.CalcYPos(Index); // y-Position von ValueIndex
Chart.Canvas.Pen.Width := 3;
Chart.Canvas.Pen.Style := psSolid;
Chart.Canvas.Pen.Color := clRed;

Chart.Canvas.MoveTo(x, y);
Chart.Canvas.LineTo(x, y +10);
end;

mfG newIndy
CalcXPos bzw. CalcXPosValue erwartet Integer als Parameter. Was kann ich aber machen, wenn ich auf der x-Achse Datumsfelder habe?
  Mit Zitat antworten Zitat