Как временно остановить контроль краски?

У нас есть объект управления win, который перемещает своих клиентов в другие координаты. Проблема в том, что когда слишком много дочерних элементов, например, 500 элементов управления, код работает очень медленно. Это должно быть из-за того, что каждый элемент управления перерисовывается каждый раз, когда я устанавливаю свойства Left и Top. Итак, я хочу сказать, что объект WinControl перестал перекрашиваться, и после перемещения всех объектов на их новые позиции, он может быть нарисован снова (что-то вродеBeginUpdate для памятки и списка объектов). Как я могу это сделать? Вот's код перемещения объектов; Это'довольно просто:

for I := 0 to Length(Objects) - 1 do begin
  with Objects[I].Client do begin
    Left := Left + DX;
    Top := Top + DY;
  end;
end;

Ответы на вопрос(4)

Ваш ответ на вопрос