Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.055 c
1-1297775115
harisma
2011-02-15 16:05
2013.03.22
TOpenDialog и хендл на файл или устройство


15-1348943921
ClawClaw
2012-09-29 22:38
2013.03.22
Фон сайта


15-1339263264
Дмитрий С
2012-06-09 21:34
2013.03.22
Удаленный доступ к компу с маком.


15-1342182880
DevilDevil
2012-07-13 16:34
2013.03.22
OpenMP vs Multithread


15-1332512911
Pit
2012-03-23 18:28
2013.03.22
C# и генерирование TLB