Teechart TChart图例-增加项目数

qkf9rpyu  于 2022-09-21  发布在  其他
关注(0)|答案(2)|浏览(150)

我有一个TDBChart,它显示了一个图例,大约25行左右。我如何才能增加图例中显示的项数?换句话说:我希望传奇故事有比现在更多的台词。

如果行数正好填满图表的高度,则是最理想的。我知道,这必须考虑到选择哪种字体。

谢谢

w8f9ii69

w8f9ii691#

我不确定答案是否属实,因为Steema有时会将运行时和设计时混为一谈,并将其中一个保存到另一个中。我的信息源发生了一些变化,现在它对我起作用了。最有可能的解决方案是:

所有这样的暗示在理论上都可能奏效:
DBChart1.Legend.Items.Capacity:=100;
DBChart1.Legend.MaxNumRow:=100;
DBChar1.Legend.NumRow:=100;

但是,一切都被自动的图例覆盖了。因此,必须做的第一件事是:将其设置为自定义!您可以这样做:
DBChart1.Legend.Items.Custom:=true;

我在Steema的文档中找到了解决方案:
http://www.teechart.net/docs/teechart/net/lib/index2.htm

q9rjltbz

q9rjltbz2#

我找到了图例位于左/右位置时的解决方案。Legend具有FirstValue属性。因此您可以实现一种多页图例。您可以为onClick事件添加一个按钮并添加以下代码:

if peLineGraph.Legend.FirstValue = 0 then
  begin
    peLineGraph.Legend.FirstValue := peLineGraph.Legend.Items.Count;
    btnShowMoreSeries.Caption := SHOW_FIRST_SERIES;
  end
  else begin
    peLineGraph.Legend.FirstValue := 0;
    btnShowMoreSeries.Caption := SHOW_NEXT_SERIES;
  end;

其中peLineGraph是TChart,btnShowMoreSeries是图表上的新按钮。我的代码是针对图例中只有两页的情况。但如果需要,您也可以实现更多页面。

当然,您不希望每次都在那里显示btnShowMoreSeries按钮。只有当实际系列的数量超过图例中适合的数量时,您才需要它。您可以轻松地签入peLineGraphAfterDraw事件。您还可以在此处调整按钮的左侧位置:

if btnShowMoreSeries.Visible = False then
  begin
    if (Sender as TChart).SeriesCount > (Sender as TChart).Legend.Items.Count then
    begin
      btnShowMoreSeries.Caption := SHOW_NEXT_SERIES;
      btnShowMoreSeries.Visible := True;
    end;
  end;
  btnShowMoreSeries.Left := (Sender as TChart).Legend.Left;

最初,btnShowMoreSeries.Visible可以为False。并且每次生成新图表时都需要将其设置为FALSE。

相关问题