Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.13;
Скачать: CL | DM;

Вниз

Работа с TImage   Найти похожие ветки 

 
terra   (2003-10-02 14:11) [0]

Подскажите, как правльно работать с Image, если я хочу использовать рисунок, как кнопку. (Предположим у меня одна кнопка и 3-и рисунка: нормальное состояние, курсор над кнопкой и кнопка нажата.) Дело в том, что кнопок несколько, и если я обрабатываю одно событие, как общее для всех кнопок (OnMouseMove), то мне приходится перерисовывать все кнопки и это явно заметно на форме.
Может есть другой выход? Просто раньше никогда особо не занимался интерфейсом.


 
ZEE ©   (2003-10-02 14:16) [1]

у OnMouseMove есть Sender - он ссілается на тот объект который сгенерил событие
т.е. тебе надо будет там писать что-то типа
TImage(Sender).Picture.LoadFromFile(...);
ну или
TImage(Sender).Picture.Assign(...);


 
Rem ©   (2003-10-02 14:18) [2]

1. Определяй по параметру Sender того, кто послал сообщение, и перерисовывай только его.
2. Или создай свой компонент (что предпочтительнее).
3. Или используй SpeedButton.


 
terra   (2003-10-02 14:53) [3]

Дело в том что, о Sender я естесственно знаю, в вопросе было указано, что я делаю одну функцию для всех кнопок. Но когда я покидаю (мышью) кнопку она, само собой, остается перерисованной.
Если можно подскажите как создать свой компонент на основе сушествующего (конечно же в двух словах), с чего начать?


 
ZEE ©   (2003-10-02 14:56) [4]

ну дык надо к TImage присобачить CM_MOUSEENTER и CM_MOUSELEAVE ...



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

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

Наверх




Память: 0.47 MB
Время: 0.074 c
8-40517
Sapsan
2003-06-07 16:16
2003.10.13
LIST-чанк WAV-файла


11-40326
miek
2003-01-30 21:29
2003.10.13
избыточные перерисовки компонентов


3-40298
Дмитрий К.
2003-09-22 14:12
2003.10.13
Тип TimeStamp и TSystemTime


8-40526
LedWorm
2003-06-11 19:24
2003.10.13
Эквалайзер в делфи


8-40528
Шустрый
2003-06-11 19:45
2003.10.13
Соединение двух TImage