【问题标题】:TeeChart: How to bring a series to the frontTeeChart:如何将系列带到最前面
【发布时间】:2014-07-18 19:05:13
【问题描述】:

IDE:c++ Builder XE5 Update 2

TeeChart 构建:2014.11.140512

我正在尝试将 TChart 组件上的某些系列放在前面(就像您通常使用 BringToFront() 函数所做的那样)。

我做了一些阅读,发现了以下选项/建议:

A.更改系列的ZOrder 属性。

B.使用TChart.ExchangeSeries()

使用TChart.ExchangeSeries() 不是更改序列z 顺序的正确方法。它的主要功能是在TChart 组件的SeriesList 中交换两个系列(然后固有地改变这些系列的z 顺序)。如果您需要固定您的系列排序(SeriesList 中的固定排序),那么这将不起作用。

更改系列的ZOrder 属性可提供更好的结果。但是,更改第一个系列的ZOrder(Series[0]) 显然没有任何作用。 Series[0] 似乎喜欢坐在班级后面。

以上可能是我实施的结果。在这种情况下,更多细节:

在我的TChart 组件上,我有多个系列。系列类型可以动态更改。系列可更改的类型仅限于TLineSeriesTBarSeries

我总是希望TLineSeries 在前面

关于如何做到这一点的任何建议?

(我们会看到难以捉摸的TChartSeries.BringToFront() 函数吗?):)

【问题讨论】:

    标签: c++builder teechart


    【解决方案1】:

    关于如何做到这一点的任何建议?

    看起来混合系列样式和更改 ZOrder 效果不佳。比如使用这段代码sn -p:

    uses Series;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Chart1.AddSeries(TLineSeries.Create(Self)).FillSampleValues(10);
      Chart1.AddSeries(TLineSeries.Create(Self)).FillSampleValues(10);
      Chart1.AddSeries(TBarSeries.Create(Self)).FillSampleValues(10);
      Chart1.AddSeries(TBarSeries.Create(Self)).FillSampleValues(10);
      Chart1.AddSeries(TBarSeries.Create(Self)).FillSampleValues(10);
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var i: Integer;
    begin
      for i:=0 to Chart1.SeriesCount-1 do
      begin
        Chart1[i].Marks.Visible:=False;
    
        if Chart1[i] is TLineSeries then
          Chart1[i].ZOrder:=Chart1.SeriesCount - 1 - i
        else
          Chart1[i].ZOrder:=i;
      end;
    end;
    

    线条系列被带到了前面,但酒吧系列风格仍然存在。我也尝试过 bar 系列 StackGroups:但是,它并没有太大的区别。我们还需要 StackGroups 用于线系列以及这项工作。

    (我们会看到难以捉摸的 TChartSeries.BringToFront() 函数吗?) :)

    为什么不呢?我已将您的请求添加到 Steema Software 的 bugzilla 平台:http://bugs.teechart.net/show_bug.cgi?id=853。随意注册并将自己添加到 CC 列表中以接收自动问题更新。

    【讨论】:

    • 感谢您添加请求!幸运的是,目前,由于项目的性质和使用它的初始方式,我应该能够暂时避免这个问题(通过不将Series[0] 更改为TLineSeries; line-较高指数的系列似乎有效)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多