Вниз
Скачать: CL | DM;

В каком событии рассчитывать координаты отрисовки   Найти похожие ветки 

 
Handle   (2012-04-17 10:48) [0]

Написан компонент-наследник от TButton, на котором отрисовываются 2 иконки. Нужно иметь возможность возвращать TRect областей отрисовки иконок. Сейчас области TRect, в которых отрисовываются иконки рассчитываются в методе Paint.

//...
var
 SmallIconBoundsRect, LargeIconBoundsRect: TRect;
begin
 // ...
 { SmallIconBoundsRect := ... }
 { LargeIconBoundsRect := ... }

Будет ли правильно, если сделать SmallIconBoundsRect, LargeIconBoundsRect property и инициализироваться они будут в методе Paint?


 
Handle   (2012-04-17 10:51) [1]

отрисовываемые иконки центрируются исходя из Height и Width кнопки. Кнопка может растягиваться, поэтому нужно пересчитывать координаты областей отрисовки иконок. не нашел события Resize, пожтому ничего лучше чем делать это в событии Paint не придумал.


 
sniknik ©   (2012-04-17 11:02) [2]

> не нашел события Resize
type
 TMyButton = class(TButton);

procedure TForm1.FormCreate(Sender: TObject);
begin
 TMyButton(Button1).OnResize:= ...


 
Сергей М. ©   (2012-04-17 11:02) [3]

Правильным будет делать это в WM_SIZE


 
Anatoly Podgoretsky ©   (2012-04-17 11:08) [4]

> Handle  (17.04.2012 10:48:00)  [0]

Не видить свойств, а свойство это то что позволит это делать "автоматически"
и безопасно.
Делать что либо расчетное в Paint не совсем верно.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.054 c
2-1345815783
Разведка
2012-08-24 17:43
2013.03.22
немогу найти причину ошибки


2-1329425543
Редиска
2012-02-17 00:52
2013.03.22
Получить код подгружаемой страницы в IndyHTTPProxyServer


15-1338834689
alexdn
2012-06-04 22:31
2013.03.22
Вот что то мне не верится


15-1347788277
Pavia
2012-09-16 13:37
2013.03.22
Посоветуйте СУБД


11-1244657683
Galkov
2009-06-10 22:14
2013.03.22
Очень Древний Баг с прозрачностью (DoubleBuffered)




   Наверх