скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Блокировка и разблокировка перерисовки компонента




procedure LockControl(c: TWinControl; bLock: Boolean); 
begin 
  if (c = nil) or (c.Handle = 0) then Exit; 
  if bLock then 
    SendMessage(c.Handle, WM_SETREDRAW, 0, 0) 
  else 
  begin 
    SendMessage(c.Handle, WM_SETREDRAW, 1, 0); 
    RedrawWindow(c.Handle, nil, 0, 
      RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN); 
  end; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  LockControl(DBGrid1, True); 
  try 
    // do convoluted things to the grid 
  finally 
    LockControl(DBGrid1, False); 
  end; 
end;


Некоторые коммпаненты имеют встроенный методы BeginUpdate и EndUpdate;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook