Главная страница
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.047 c
4-1075222949
mntek
2004-01-27 20:02
2004.04.04
tray icon - восстановление после краха explorer a


6-1076571983
d_s
2004-02-12 10:46
2004.04.04
Входяшие подключения


1-1079089484
saska
2004-03-12 14:04
2004.04.04
про Мессаги


3-1078587389
В л а д и м и р
2004-03-06 18:36
2004.04.04
Таблица Exel и БД: экспорт данных из ячеек exel в поля БД?


8-1068235153
Delphi5.01
2003-11-07 22:59
2004.04.04
[Error] DirectDraw.pas(173): Type IDirectDrawSurface needs fina