从TGraphicControl.Paint调用TWinControl.Update是否安全?

时间:2009-05-10 22:22:23

标签: delphi

我有一个TGraphicControl后代,画得很慢。还有一个TWinControl后代,这个快速绘画。两个控件都在同一个TPanel上。

滚动时,TGraphicControl比TWinControl更新,因此它们看起来不同步。此更新由Windows和/或VCL完成,而不是由我的代码完成。

我可以通过从TGraphicControl.Paint方法调用TWinControl.Update来解决这个问题,但我有点担心这可能会导致问题。

这样做是否安全?

2 个答案:

答案 0 :(得分:1)

只要没有回电给您的双控制器就应该没问题。你可能会比严格的necc更频繁地获得双控制更新,但这就是全部。

答案 1 :(得分:1)

只要它们不相关,它就是安全的。但它看起来不是一种非常有效的方法。

TGraphic取决于父控件的绘画,那也是TWinControl的父级?

您可以尝试一下:

a)将基于TGraphic的控件更改为TWinControl(TGraphic无论如何都不是那么有用或高效)。那就是你拥有源。

b)将Graphic Control嵌入一个特殊的(无边框等)TPanel