我有一个TGraphicControl后代,画得很慢。还有一个TWinControl后代,这个快速绘画。两个控件都在同一个TPanel上。
滚动时,TGraphicControl比TWinControl更新,因此它们看起来不同步。此更新由Windows和/或VCL完成,而不是由我的代码完成。
我可以通过从TGraphicControl.Paint方法调用TWinControl.Update来解决这个问题,但我有点担心这可能会导致问题。
这样做是否安全?
答案 0 :(得分:1)
只要没有回电给您的双控制器就应该没问题。你可能会比严格的necc更频繁地获得双控制更新,但这就是全部。
答案 1 :(得分:1)
只要它们不相关,它就是安全的。但它看起来不是一种非常有效的方法。
TGraphic取决于父控件的绘画,那也是TWinControl的父级?
您可以尝试一下:
a)将基于TGraphic的控件更改为TWinControl(TGraphic无论如何都不是那么有用或高效)。那就是你拥有源。
b)将Graphic Control嵌入一个特殊的(无边框等)TPanel