Für sowas gibt es die ChartTools - siehe
http://wiki.lazarus.freepascal.org/TACh ... hart_Tools. Ich habe im Anhang eine kleine Demo zusammengestellt, wie man mit einem DatapointClickTool und einem DatapointCrossHairTool Datenpunkte und die zugehörige Series auswählen kann. Mit Hilfe des Shift-Parameters ist das DatapointClickTool so eingestellt, dass es mit einem Klick mit der linken Maustaste aktiv wird, das Crosshairtool wird aktiv, wenn man die CTRL-Taste gedrückt hält und mit der Maus ohne gedrückte Taste über einen Datenpunkt fährt. Für beide Tools wird die gefundene Information als Nachricht ausgegeben.
Schnellanleitung für das DatapointClickTool:
- Eine TChartToolSet-Komponente aufs Formular klicken, mit der Eigenschaft Toolset des Chart verbinden
- Doppelklick auf der ChartToolSet-Komponente > "Hinzufügen" > "Klick auf Datenpunkt" (beim CrosshairTools wäre das: "Fadenkreuz für Datenpunkte")
- Der Eigenschaft Shift des neuen Tools die gewünschte Tastenkombination/Maustaste zuweisen, mit der das Tool aktiv werden soll
- Ich mache beim ClickTool auch noch die Größe des Toleranzbereichs um einen Datenpunkt (GrabRadius) mit Hilfe eines SpinEdit änderbar.
- Das Click-Tool hat ein Ereignis OnPointClick, in dem man die Information über den geklickten Datenpunkt abfragen kann. Allerdings sind die über Parameter zur Verfügung gestellen Daten sehr allgemein gehalten, und man muss Typecasts durchführen, um an die gewünschten Eigenschaften zu gelangen - siehe beigefügten Code.
Ach ja noch: Die Tools funktionieren in der Regel nur beim Click auf Datenpunkte, nicht auf die Verbindungslinien!
Und schließlich noch ein Hinweis auf die allgemeine TAChart-Dokumentation zu diesem Thema:
http://wiki.lazarus.freepascal.org/TACh ... tion#Tools