![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TWinControl - запрет перерисовки
d_oleg © (2002-09-05 11:52:00)Как можно "запретить" контролу перерисовывать себя, пока я "работаю" с его детьми? Ну вот допустим у меня есть TPanel, на которой я в run-time создаю объекты (10-15). Каждый из них прорисовывается по мере создания. Это нехорошо. Хочется сделать так, чтобы TPanel со своими новоиспечёнными детьми перерисовалась после моих с нею манипуляций
d_oleg (2002-09-05 15:53:00) [1]Спасибо, всё отлично работает. Только я вот что бы подправил:
procedure EndUpdateControl(AControl: TWinControl);
begin
SendMessage(AControl.Handle, WM_SETREDRAW, 1, 0);
RedrawWindow(AControl.Handle, nil, 0, RDW_INVALIDATE or RDW_ERASE or RDW_FRAME or RDW_ALLCHILDREN);
end;
чтобы все дети перерисовывались.
Кулюкин Олег (2002-09-05 14:19:00) [2]procedure BeginUpdateControl(AControl: TWinControl);
begin
SendMessage(AControl.Handle, WM_SETREDRAW, 0, 0);
end;
procedure EndUpdateControl(AControl: TWinControl);
begin
SendMessage(AControl.Handle, WM_SETREDRAW, 1, 0);
AControl.Refresh;
end;