Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.16;
Скачать: CL | DM;

Вниз

TWinControl - запрет перерисовки   Найти похожие ветки 

 
d_oleg ©   (2002-09-05 11:52) [0]

Как можно "запретить" контролу перерисовывать себя, пока я "работаю" с его детьми? Ну вот допустим у меня есть TPanel, на которой я в run-time создаю объекты (10-15). Каждый из них прорисовывается по мере создания. Это нехорошо. Хочется сделать так, чтобы TPanel со своими новоиспечёнными детьми перерисовалась после моих с нею манипуляций


 
Кулюкин Олег ©   (2002-09-05 14:19) [1]

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;



 
d_oleg ©   (2002-09-05 15:53) [2]

Спасибо, всё отлично работает. Только я вот что бы подправил:

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;

чтобы все дети перерисовывались.



Страницы: 1 вся ветка

Текущий архив: 2002.09.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
3-50655
firsor1
2002-08-27 12:10
2002.09.16
Чтобы использовать ShellExecute что должно быть в uses..


14-50968
Black Cat
2002-08-15 15:54
2002.09.16
Дожили...


6-50895
werr
2002-07-09 16:41
2002.09.16
Как программно узнать каким юзером занят файл?


1-50846
Mazenrat
2002-09-04 15:04
2002.09.16
Айпишный аналог Application.ProcessMessages?


1-50786
pavit
2002-09-03 12:54
2002.09.16
Как определить что мышь ушла за пределы компонента