FireMonkey控件是否与VCL Invalidate()方法等效?

时间:2011-12-07 03:17:58

标签: delphi firemonkey

我正在创建一些自定义的FireMonkey GUI控件。组件需要响应用户交互而更新。 VCL控件可以调用Invalidate()进入队列进行重新绘制。 FireMonkey有一个等效的方法吗?

FireMonkey控件有一个Repaint()方法,但是AFAICT强制控件立即重新绘制。在某些情况下,队列类型系统更合适。

2 个答案:

答案 0 :(得分:2)

Control.InvalidateRect(RectF(0,0,width,height));

答案 1 :(得分:2)

FireMonkey的TControl.Repaint最终调用TPlatformWin.ReleaseWindow。如果Form.Transparency为false,则此方法调用Windows InvalidateRect函数,就像VCL的TControl.Invalidate一样。

所以重绘实际上做了与VCL的Invalidate相同的事情,除非Form.Transparency = true。