单击Bar Series时如何操作TChart?

时间:2015-11-17 19:42:34

标签: delphi delphi-10-seattle

使用Delphi Seattle和iOS / Android的TChart组件,我有一个条形图系列。有一种简单的方法,所以当我点击一个条形图时,弹出/图例/标注会显示在条形图的顶部并具有确切的值吗?

我遇到过ClickSeries事件,但有没有更简单的方法/更合乎逻辑的方法来执行此操作,而无需每次都从此事件重新创建一个标注? 我还注意到,当我为这个系列添加代码时(为了测试,我做了一个showmessage(inttostr(valueindex))。此外,每当触发鼠标按下事件时都会出现一个红色边框。

假设(如果它可用)有一种简单的方法可以将此边框更改为本身蓝色而不是红色,并且还在单击时自动显示标注, IDE中的TChart编辑器中的位置是可能

从图表编辑器中,我尝试过去系列 - >一般 - >悬停,但这里没有任何东西得到我想要的效果。

更新: 这就是我在对所有事情进行梳理之后想出来的。我可以显示/隐藏最初想要的标注,但仍然无法弄清楚如何修改出现的红色边框。当触发mousedown事件时,callout的文本现在也显示为红色。

procedure TmTestForm.RawDataSeriesAfterAdd(Sender: TChartSeries;
  ValueIndex: Integer);
begin
  RawDataSeries.Marks.Item[ValueIndex].Visible:=false;
end;

procedure TmTestForm.RawDataChartClickSeries(Sender: TCustomChart;
  Series: TChartSeries; ValueIndex: Integer; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Series.Marks.Item[ValueIndex].Visible=TRUE then
    Series.Marks.Item[ValueIndex].Visible:=FALSE
  else
    Series.Marks.Item[ValueIndex].Visible:=TRUE;
end;

0 个答案:

没有答案