在运行时以编程方式创建图表和系列时,如何模拟 Series1DblClick 或 Chart1ClickSeries 等事件?

How can I simulate events like Series1DblClick or Chart1ClickSeries when programatically creating Charts and Series on the runtime?

在一个小的 Delphi 程序中,我在运行时以编程方式创建了几个 TCharts 和 TBarSeries,但随后我希望能够单击图表的柱状图并触发,例如,要显示的 Chart1ClickSeries 事件该酒吧的信息。这可能吗??

首先,创建您的事件处理程序:

TForm1 = class...
  ...
  procedure BarSeries1Click(Sender: TChartSeries;
    ValueIndex: Integer; Button: TMouseButton; Shift: TShiftState; X,
    Y: Integer);
  procedure BarSeries1DblClick(Sender: TChartSeries;
    ValueIndex: Integer; Button: TMouseButton; Shift: TShiftState; X,
    Y: Integer);
  ...
end;

procedure TForm1.BarSeries1Click(Sender: TChartSeries;
  ValueIndex: Integer; Button: TMouseButton; Shift: TShiftState; X,
  Y: Integer);
begin
  ShowMessage('Click');
end;

procedure TForm1.BarSeries1DblClick(Sender: TChartSeries;
  ValueIndex: Integer; Button: TMouseButton; Shift: TShiftState; X,
  Y: Integer);
begin
  ShowMessage('DblClick');
end;

然后在您创建系列后,分配事件:

BarSeries1.OnClick:=BarSeries1Click;
BarSeries1.OnDblClick:=BarSeries1DblClick;