The Series' Clicked(X,Y) function returns -1 if the series isn't under the (X,Y) position (in pixels). If the series is under the (X,Y) position (in pixels), it returns the index of the point under the series.
Here you have a simple example using the OnMouseMove event:
uses Series;
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
begin
Chart1.View3D:=false;
for i:=0 to 2 do
Chart1.AddSeries(TBarSeries).FillSampleValues(3);
end;
procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var seriesIndex, valueIndex: Integer;
begin
Caption:='No series under the mouse';
for seriesIndex:=Chart1.SeriesCount-1 downto 0 do
begin
valueIndex:=Chart1[seriesIndex].Clicked(X,Y);
if valueIndex>-1 then
Caption:='Series under the mouse. SeriesIndex: ' + IntToStr(seriesIndex) + ', ValueIndex: ' + IntToStr(valueIndex);
end;
end;
The Series' Clicked(X,Y) function returns -1 if the series isn't under the (X,Y) position (in pixels). If the series is under the (X,Y) position (in pixels), it returns the index of the point under the series.
Here you have a simple example using the OnMouseMove event:
From your clicked event, you will get the
X,Y
mouse position.It is also possible to assign an
OnClickSeries
event to the chart.