我有一个使用正在维护的TChart的报告。自动添加的TLineSeries之一被分配了颜色clWhite,该颜色太接近背景(clBtnFace)。

如果我更改它,那么添加的下一个系列将为clWhite。如此一来,在创建完所有其他系列后,只需返回并进行更改,是否有某种方法可以告诉TChart我不希望我的任何系列都成为clWhite?

当系列添加到TChart时,TChart为其分配颜色。我希望它不分配clWhite。

最佳答案

可以不轻易放弃,我做了更多的搜索。 TeeProcs单元中有一个类型为TColorArray的单元变量ColorPalette。如果我发现白色并用其他可以解决问题的颜色替换了它。可能有一个实例副本。我会继续寻找,因为那将是首选。

要还原ColorPalette,只需在同一单位中调用单位方法SetDefaultColorPalette。

SetDefaultColorPalette; // Make sure we start with the default
ColorPalette[4] := $007FFF; // Change White to Orange
try
  // add series to the chart
finally
  SetDefaultColorPalette;  // Set it back to Default
end;


顺便说一句,我也不能接受回答,因为我也问了这个问题,但是我对其进行了测试,并且它可以工作。

10-07 19:20