![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В каком событии рассчитывать координаты отрисовки
Handle © (2012-04-17 10:48:00)Написан компонент-наследник от TButton, на котором отрисовываются 2 иконки. Нужно иметь возможность возвращать TRect областей отрисовки иконок. Сейчас области TRect, в которых отрисовываются иконки рассчитываются в методе Paint.
//...
var
SmallIconBoundsRect, LargeIconBoundsRect: TRect;
begin
// ...
{ SmallIconBoundsRect := ... }
{ LargeIconBoundsRect := ... }
Будет ли правильно, если сделать SmallIconBoundsRect, LargeIconBoundsRect property и инициализироваться они будут в методе Paint?
Anatoly Podgoretsky (2012-04-17 11:08:00) [1]> Handle (17.04.2012 10:48:00) [0]
Не видить свойств, а свойство это то что позволит это делать "автоматически"
и безопасно.
Делать что либо расчетное в Paint не совсем верно.
sniknik (2012-04-17 11:02:00) [2]> не нашел события Resize
type
TMyButton = class(TButton);
procedure TForm1.FormCreate(Sender: TObject);
begin
TMyButton(Button1).OnResize:= ...
Сергей М. (2012-04-17 11:02:00) [3]Правильным будет делать это в WM_SIZE
Handle (2012-04-17 10:51:00) [4]отрисовываемые иконки центрируются исходя из Height и Width кнопки. Кнопка может растягиваться, поэтому нужно пересчитывать координаты областей отрисовки иконок. не нашел события Resize, пожтому ничего лучше чем делать это в событии Paint не придумал.