Есть ли у элементов управления FireMonkey эквивалент метода VCL Invalidate ()? - PullRequest
6 голосов
/ 07 декабря 2011

Я создаю несколько пользовательских элементов управления FireMonkey.Компоненты должны обновляться в ответ на взаимодействие с пользователем.Элементы управления VCL могут вызывать Invalidate () для помещения в очередь для перерисовки.Есть ли у FireMonkey эквивалентный метод?

У элементов управления FireMonkey есть метод Repaint (), но AFAICT, который заставляет элемент управления перерисовываться немедленно.Система типа очереди была бы более подходящей в некоторых обстоятельствах.

Ответы [ 2 ]

2 голосов
/ 11 декабря 2011

FireMonkey TControl.Repaint завершает вызов TPlatformWin.ReleaseWindow. Если Form.Transparency имеет значение false, то этот метод вызывает функцию Windows InvalidateRect, как это делает TControl.Invalidate в VCL.

Таким образом, Repaint фактически делает то же самое, что и VCL Invalidate, если только Form.Transparency = true.

2 голосов
/ 09 декабря 2011
Control.InvalidateRect(RectF(0,0,width,height));
...