Вниз
Скачать: 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.022 c
6-40544
SergP
2003-08-13 18:16
2003.10.13
Прокси-Сервер. Как закрыть соединение с браузером.


14-40608
beginner_nostra
2003-09-25 01:36
2003.10.13
Siemens C55 в качестве GPRS модема


4-40753
andre
2003-08-10 02:37
2003.10.13
Меню в трее.


14-40624
Dmitriy O.
2003-09-18 13:38
2003.10.13
Как записать тип шрифта в БД


1-40379
GH@ST
2003-10-01 12:47
2003.10.13
Как перебрать список всех открытых окон




   Наверх