![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отследить изменение размера TCustomControl компонента?
DevilDevil © (2006-07-18 12:17:00)Создаю компонент на основе TCustomControl. По Paint должен рисоваться буфер-Битмап, размеры которого соответствуют размеру компонента.
DevilDevil (2006-07-19 18:17:00) [1]Спасибо!
Использую Resize. Всё корректно. Ещё раз спасибо!
DimaBr (2006-07-18 16:01:00) [2]
TMyControl = class(TControl) // или выше
protected
procedure SetBounds(ALeft,ATop,Awidth,AHeight: integer);override;
procedure Resize; override;
end;
// возникает при изменнении размеров и положения
procedure TMyControl.SetBounds(ALeft,ATop,Awidth,AHeight: integer);
begin
// можно запретить изменение размеров и положения
// например ALeft := Left;
// можно вызвать свой метод или прямо здесь
// ResizeMyBitmap(ALeft,ATop,Awidth,AHeight);
inherited SetBounds(ALeft,ATop,Awidth,AHeight);
end;
procedure TMyControl.Resize;
begin
// возникает при изменении размеров
// ResizeMyBitmap;
inherited Resize;
end;
DevilDevil (2006-07-18 14:08:00) [3]Мне нужна отдельная процедура, возникающая при изменении размеров компонента. В ней я и буду изменять размеры битмапа...
DimaBr (2006-07-18 13:46:00) [4]TControl.SetBounds
clickmaker (2006-07-18 13:34:00) [5]TControl.Resize
WM_SIZE