我正在创建一些自定义的FireMonkey GUI控件。组件需要响应用户交互而更新。 VCL控件可以调用Invalidate()进入队列进行重新绘制。 FireMonkey有一个等效的方法吗?
FireMonkey控件有一个Repaint()方法,但是AFAICT强制控件立即重新绘制。在某些情况下,队列类型系统更合适。
答案 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。