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

Вниз

Мышь над компонентом   Найти похожие ветки 

 
Checist [root]   (2003-08-16 03:10) [0]

Мне нужно сотворить некое действие если мышь была неподвижна 3 сек над компонентом Image1. Как мне такое заколбасить покороче?


 
Е-Моё имя ©   (2003-08-16 03:35) [1]

запоминай время последнего перемещения над картинкой


 
Checist [root]   (2003-08-16 03:37) [2]

Но какое событие для этого юзать?


 
Yakudza ©   (2003-08-16 04:21) [3]

OnMouseEnter


 
Spawn ©   (2003-08-16 08:20) [4]

CM_MOUSEENTER


 
Юрий Зотов ©   (2003-08-16 08:51) [5]

> Е-Моё имя © (16.08.03 03:35) [1]

Запоминать придется время ОКОНЧАНИЯ перемещения над картинкой. То есть, момент последней ОСТАНОВКИ мыши. Не подскажете, как это сделать?

> Yakudza © (16.08.03 04:21) [3]
> Spawn © (16.08.03 08:20) [4]

И каким образом MouseEnter позволит отловить паузу в перемещении мыши НАД картинкой?

> Checist [root]

Ставите таймер на 3 сек. В обработчике OnTimer пишете свое действие, а в обработчике OnMouseMove - 2 строки:
Timer.Enabled := False;
Timer.Enabled := True;

Далее, добавляете обработчик сообщения CM_MOUSELEAVE, а в нем пишете: Timer.Enabled := False;

Таким образом, при каждом перемещении мыши над картинкой таймер будет сбрасываться. Если он в течение 3-х секунд не сбросился (т. е., мышь была над картинкой но 3 секунды не двигалась), то сработает OnTimer и выполнится Ваше действие. При уходе мыши за пределы картинки таймер отключится совсем (и Ваше действие выполняться перестанет), а при новом входе мыши в область картинки снова включится слежение за ней.

Только учтите, что ТОЧНО 3 секунды поймать не получится. Получится ПОЧТИ точно, но не точно.



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
3-1319
styopkin
2003-08-08 12:14
2003.09.01
MIDAS, DCOM


14-1562
RIMMER
2003-08-11 23:31
2003.09.01
Как запретить XP theme UI для моей программы


3-1274
Владий
2003-08-11 09:50
2003.09.01
Можно ли сделать такой запрос:


11-1360
Vadim Petrov
2002-12-26 09:38
2003.09.01
Расскраска ListView


3-1316
gsvserg
2003-08-07 18:49
2003.09.01
Как сделать цикл по колонкам в Excel?