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

Вниз

Изменение картинки при наведении...   Найти похожие ветки 

 
TitanDesign ©   (2003-11-26 18:03) [0]

Как мне сделать?
Имеется картинка (Image), и нужно сделать так чтоб при
наведении на неё курсором она менялась на другую...


 
wicked ©   (2003-11-26 18:10) [1]

OnMouseMove - отловить момент появления курсора над картинкой + таймер - проверять, не ушла ли мышь с картинки... способ универсальный, работает на всех виндовсах...


 
Mihey ©   (2003-11-26 19:27) [2]

2 wicked:

А вот таймер не желательно использовать. Слишком ресурсов много жрёт для такого дела.


 
TitanDesign ©   (2003-11-26 20:08) [3]

Да я сам так думаю, только как? Я немогу и не знаю как отловить
появление курсора над картинкой...


 
Mihey ©   (2003-11-26 20:22) [4]

2 TitanDesign:

Я так полагаю, ты делаешь что-то вроде кнопки. Над картинкой определить не сложно - можно использовать OnMouseMove. Сложнее определить, когда курсор покинет область картинки. В идеале должно быть два свойства - OnMouseEnter, т.е. когда курсор входит в область картинки, и OnMouseLeave - когда курсор покидает картинку. Но у TImage этих свойств нет. Их можно прилепить, но как - вопрос в другой раздел, там надо обрабатывать сообщения CM_MouseEnter и CM_MouseLeave. Я бы помог, да у меня полностью отсутсвует вся дополнительная документация.

Ты напиши, какую задачу ты решаешь.


 
wicked ©   (2003-11-26 20:23) [5]

2 TitanDesign ©[3]
очень просто... заводим переменную-флажок := false...
в OnMouseMove:
if <флажок> then <это НЕ момент появления мыши над картинкой>
else <это момент появления мыши над картинкой - заменить картинку, установить таймер, флажок := true>

2 Mihey ©
даже если это и так, альтернатив мало - все остальные едят намного больше ресурсов...
но это не так... :)


 
Mihey ©   (2003-11-26 21:21) [6]

2 wicked:

Тот способ, что я говорил в Mihey [4] отловлю сообщений пожалуй самый верный. Именно там его реализуют в компонентах с такими свойствами. Ну а если ты настаиваешь на таймере, то лучше использовать таймер без хендла - это будет гораздо экономичней.



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
3-1078803868
Дмитрий2004
2004-03-09 06:44
2004.04.04
Как можно распечатать QuickReport


3-1078400481
Timego
2004-03-04 14:41
2004.04.04
Можно ли рисовать в titel DBGrid а?


9-1063462188
Orc
2003-09-13 18:09
2004.04.04
Фоновая анимация


3-1078401153
LAndreyV
2004-03-04 14:52
2004.04.04
Query1.Delete - иногда работает, а иногда выдает ошибку


7-1076403470
Димос
2004-02-10 11:57
2004.04.04
Очистка корзины