TChart 用鼠标移动到底部轴标签上找到 valueindex
TChart find valueindex with mousemove over bottom axis label
Delphi 7 和 TChart 版本 2014Delphi7
我有一个 3d TChart,其中包含 16 个柱形系列和 16 个值。 (16x16 3d 条形图)
当我将鼠标移到底部轴上时,我需要知道鼠标悬停的系列的值索引。
我想隐藏(透明度=75)所有其他值,以便仅显示该索引的条形图。 (仅显示如此显示的所有系列的索引实际上是 1x16 图表)
如何获取鼠标经过的索引?
系列的 Clicked(X,Y) 函数 returns -1 如果系列不在 (X,Y) 位置(以像素为单位)下。如果系列在 (X,Y) 位置(以像素为单位)下,它 returns 系列下的点的索引。
这里有一个使用 OnMouseMove 事件的简单示例:
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;
Delphi 7 和 TChart 版本 2014Delphi7
我有一个 3d TChart,其中包含 16 个柱形系列和 16 个值。 (16x16 3d 条形图)
当我将鼠标移到底部轴上时,我需要知道鼠标悬停的系列的值索引。
我想隐藏(透明度=75)所有其他值,以便仅显示该索引的条形图。 (仅显示如此显示的所有系列的索引实际上是 1x16 图表)
如何获取鼠标经过的索引?
系列的 Clicked(X,Y) 函数 returns -1 如果系列不在 (X,Y) 位置(以像素为单位)下。如果系列在 (X,Y) 位置(以像素为单位)下,它 returns 系列下的点的索引。
这里有一个使用 OnMouseMove 事件的简单示例:
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;