Главная страница
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.061 c
2-1326742131
Рома
2012-01-16 23:28
2013.03.22
Нужно сделать трассировку


2-1341933433
AndreiPerec
2012-07-10 19:17
2013.03.22
Как проверить есть ли у Компонента свойство?


15-1329646997
Чайник
2012-02-19 14:23
2013.03.22
Direct 3D и Delphi 2010


2-1340908025
sas9568635
2012-06-28 22:27
2013.03.22
Пишу проект с реализацией команд КР580ВМ80А, которые в виде проце


15-1343728350
Miau
2012-07-31 13:52
2013.03.22
Delphi+1C