有一个 TChart及其自己的方法/事件,当鼠标单击标签时显示提示(标签附近)
procedure TForm.Series1Click(Sender: TChartSeries; ValueIndex: Integer;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Chart1.ShowHint := true;
Chart1.Hint := DateToStr(Series1.XValue[ValueIndex]);
end;
事件
过程 TFDigram.Series1MouseLeave(Sender: TObject); 开始
Chart1.ShowHint := false;
结尾;
当光标不在图表上的某个点上时,防止工具提示退出。
我需要通过在标签上按下鼠标按钮而不是通过将鼠标光标移动到标签来显示工具提示
我试过了
procedure TForm. Chart1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
var
Button: TMouseButton;
begin
Series1.OnClick(nil, 1, Button, Shift, x, y); - не подходит
end;
但它不适合,因为 到 OnClick 事件,您需要传递标签/索引号
我应该怎么办?
使用 MouseMove,但不要尝试从中调用另一个事件处理程序。您需要自己获取数据/数据范围,使用光标坐标和
Series.Clicked指示给定图表是否已被选择的属性(选择意味着只需将鼠标悬停在图表/点/条形图/圆等上):此代码将显示一个工具提示,其中将给出散点图的鼠标悬停点的纵坐标值和该点的图例
或者像这样:
此代码将显示折线图的工具提示:无论我们在何处移动鼠标,都会显示计算出的点的纵坐标和结束线段的点的图例。
如果您在一个图表上有多个图表,那么您需要询问所有内容
Series[i].Clicked。