1

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

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

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

从图表编辑器中,我尝试转到系列 -> 常规 -> 悬停,但这里没有得到我想要的效果。

更新:这是我在吃完所有东西后想出的。我可以按照最初的要求显示/隐藏标注,但仍然无法弄清楚如何修改出现的红色边框。现在,当触发 mousedown 事件时,标注的文本也会显示为红色。

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;
4

0 回答 0