Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.063 c
4-1259572252
keymaster
2009-11-30 12:10
2013.03.22
Работа с POS-принтером.


15-1338635972
М
2012-06-02 15:19
2013.03.22
Зависает при потоке


15-1349298953
Дмитрий С
2012-10-04 01:15
2013.03.22
Как называется разъем?


11-1245312300
QAZ
2009-06-18 12:05
2013.03.22
Applet


15-1330664086
CleriC
2012-03-02 08:54
2013.03.22
HotKey в среде Delphi (не могу назначить)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский