我想创建与堆积系列的条形图。每个酒吧由两部分组成。主要部分有正常的颜色和黑色边框,“超限”部分有较亮的颜色和红色边框。在IDE(Delphi XE3)中配置此行为没有问题。当我有太小的“超限”栏时,配置的行为开始变差。如果此栏高1px,则红色边框会消失,只有1px的笔刷颜色线会呈现。我需要渲染边框颜色线。所以我试图改变这个酒吧的颜色。获取vertiacal酒吧的高度为具体的价值
这里是我的代码部分:
Series1.AddY((RamTotal-RamAvailable-memover)/mb, titlemem);
if memover > 0 then
Series2.AddY(memover/mb, titlememover);
if (memover > 0) and (Series2.CalcBarBounds(0).Height <= 2) then
Series2.ValueColor[0] := FSmallOverColor;
问题是CalcBarBounds功能。只有在图表已经显示之后它才返回正确的值。这是第一次返回0.这会导致将边框颜色应用到每个“超限”栏,而不管第一次显示时它的高度如何。当我按下重载按钮清除所有系列并调用与以前相同的代码时,一切都看起来很好。如果我从代码调用重新加载,它不起作用。调用刷新,重绘或任何不起作用。尝试在AfterDraw事件上更改颜色也不起作用。
每个系列只有一个值。我有TeeChart标准v2012.06.120613 32位。
这不是一个答案。这是一个信息请求,应该作为评论发布。任何发布在“您的答案”文本区域的内容都应该这样做 - 为问题提供答案。你应该扩大这个解释并使之成为一个声明,以便它看起来像一个答案,或将其转移到对原始问题的评论。 [faq]有关于两者之间的区别的信息。 :-) – 2013-04-05 20:53:32
我写它作为答案,因为它可能是解决主要问题的关键。我同意这可能会更好,但我优先考虑质量问题。我想这应该是创作者应该说是否足以解决问题。无论如何,我会尽力改善它。 – Yeray 2013-04-08 08:19:06