0

我正在使用 Delphi XE3 附带的 Teechart 组件。我需要有多个图表,然后将它们保存到 jpg 文件中。用户可以选择一个关键字并显示每个图表。

我需要为每个关键字绘制图表,然后将其保存到文件中,无需用户交互。

我已经尝试过 OnAfterDraw 事件,然后将图表保存为图像,然后调用另一个关键字。但是,这不起作用,因为当您保存图像时,它会调用 OnAfterDraw 并且我要么结束一个无限循环,要么如果我将事件设置为 nil 然后将其重置回来,它就再也不会被调用。

请问有人对如何做到这一点有任何建议吗?

问候安东尼

4

2 回答 2

1

您可以尝试调用TChart.Draw(); 图表强制在导出之前呈现图表,这样您就不需要使用 OnAfterDraw 事件。

于 2013-08-13T08:00:56.960 回答
0

好的,所以我找到了一种方法,但对我来说似乎很笨拙。

基本上,我在表单上放置了一个 Timer 并将 teechart OnAfterDraw 事件移动到私有部分。然后我建立我的关键字列表,然后启动计时器。

计时器首先禁用自身,然后将 OnAfterDraw 事件添加到 TeeChart,然后调用一个过程来填充图表信息。

在 OnAfterDraw 中,我将图表保存为图像,检查是否有更多可用的关键字,如果有,则重新激活计时器,否则触发我自己的事件。

就像我说的那样,这可行,但不确定它的整体后果。如果有人对此方法有任何建议或意见,我将不胜感激。

问候安东尼

于 2013-08-12T19:07:02.663 回答