Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.019 c
14-40646
pasha_golub
2003-09-24 11:44
2003.10.13
Не могу найти IDE у FreePascal 1.0.10


3-40264
ViKS
2003-09-24 11:38
2003.10.13
Не выводятся данные в DBlookUpcombo


14-40680
Mike Kouzmine
2003-09-23 14:35
2003.10.13
Наш ответ им.


14-40675
Владислав
2003-09-18 12:57
2003.10.13
Нужна информация по СУБД.


4-40736
L.N.N.
2003-08-07 10:42
2003.10.13
Перехватить нажатие пункта меню




   Наверх