
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.03.2006, 11:28:07
|
|||
|---|---|---|---|
Обработка Double Click |
|||
|
#18+
У некоторого объекта есть обработчик мыши. По одинарному клику и по двойному клику должны происходить различные действия. Проблема в том, что до того, как срабатывает обработка двойного клика — полюбому отрабатывает обработка одинарного клика. То есть сначала первый клик от двойного клика обрабатывается как одинарный, а потом после второго клика идет обработка двойного клика как целого. Есть ли возможность разделить обработку одинарного клика и двойного? Может кто-нибудь решал сходную проблему? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2006, 11:38:51
|
|||
|---|---|---|---|
|
|||
Обработка Double Click |
|||
|
#18+
поменяйте местами 1 и 2 ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2006, 12:16:28
|
|||
|---|---|---|---|
Обработка Double Click |
|||
|
#18+
Deadyпоменяйте местами 1 и 2 Пробовал. Разницы никакой. Все равно сначала обрабатывается первый клик от двойного клика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2006, 12:22:25
|
|||
|---|---|---|---|
Обработка Double Click |
|||
|
#18+
У тебя же 2 кнопки на мыше(min),вот при помощи их и сделай разделение событий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2006, 12:47:28
|
|||
|---|---|---|---|
|
|||
Обработка Double Click |
|||
|
#18+
а если 1 убрать, 2 сработает? ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2006, 13:46:12
|
|||
|---|---|---|---|
|
|||
Обработка Double Click |
|||
|
#18+
Deadyа если 1 убрать, 2 сработает? ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 Сработает. В момент первого клика в переменной запоминаешь время нажатия. В момент второго клика анализируешь время, прошедшее с предыдущего нажатия. Если больше какого-то порога - то выполняешь действия по одинарному клику, если меньше - по двойному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2006, 13:56:47
|
|||
|---|---|---|---|
|
|||
Обработка Double Click |
|||
|
#18+
Кувалдин > В момент первого клика в переменной запоминаешь время нажатия. В > момент второго клика анализируешь время, прошедшее с предыдущего > нажатия. Если больше какого-то порога - то выполняешь действия по > одинарному клику, если меньше - по двойному.Тема==Ответить это дублирование функций ОС, по идее getClickCount() должен возвращать только 2 при двойном клике. ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2006, 13:57:45
|
|||
|---|---|---|---|
|
|||
Обработка Double Click |
|||
|
#18+
в смысле должно генериться только одно событие на 2ной клик, а тут похоже генерятся 2 события ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2006, 14:03:29
|
|||
|---|---|---|---|
Обработка Double Click |
|||
|
#18+
а зачем это надо? может быть можно каким то другим способом решить? т.е. обрабатывать только одинарный клик, а event двойного клика имплементировать на другой кнопке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2006, 15:07:45
|
|||
|---|---|---|---|
|
|||
Обработка Double Click |
|||
|
#18+
Deadyв смысле должно генериться только одно событие на 2ной клик, а тут похоже генерятся 2 события ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 А ты попробуй на один и тот же компонент в .NET повесить обработчики click и doubleClick. Уверяю тебя, что обработчик click будет обрабатывать каждое нажатие. а не те, которые не обрабатываются doubleClick-ом. Так что doubleClick в Win реализован методом, похожим на предложенный мной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2006, 13:46:19
|
|||
|---|---|---|---|
Обработка Double Click |
|||
|
#18+
Кувалдин Роман В момент первого клика в переменной запоминаешь время нажатия. В момент второго клика анализируешь время, прошедшее с предыдущего нажатия. Если больше какого-то порога - то выполняешь действия по одинарному клику, если меньше - по двойному. Видимо так и придется делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2006, 12:18:04
|
|||
|---|---|---|---|
Обработка Double Click |
|||
|
#18+
А если поменять местами 1 и 2, а в 2 сделать возврат из обработчика событий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2006, 22:53:59
|
|||
|---|---|---|---|
|
|||
Обработка Double Click |
|||
|
#18+
Сергей111А если поменять местами 1 и 2, а в 2 сделать возврат из обработчика событий? Не выйдет. Ты по-любому отловишь первое нажатие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2006, 06:07:16
|
|||
|---|---|---|---|
|
|||
Обработка Double Click |
|||
|
#18+
Кувалдин Роман Deadyа если 1 убрать, 2 сработает? ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 Сработает. В момент первого клика в переменной запоминаешь время нажатия. В момент второго клика анализируешь время, прошедшее с предыдущего нажатия. Если больше какого-то порога - то выполняешь действия по одинарному клику, если меньше - по двойному. А если второго клика не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2006, 09:18:13
|
|||
|---|---|---|---|
Обработка Double Click |
|||
|
#18+
Прохожий мимо Кувалдин Роман Deadyа если 1 убрать, 2 сработает? ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 Сработает. В момент первого клика в переменной запоминаешь время нажатия. В момент второго клика анализируешь время, прошедшее с предыдущего нажатия. Если больше какого-то порога - то выполняешь действия по одинарному клику, если меньше - по двойному. А если второго клика не будет? Запускать еще один обработчик через таймер при первом клике, если второго клика нет обработка одного, иначе двух ))))))))))))))))))))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2149998]: |
0ms |
get settings: |
17ms |
get forum list: |
31ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
63ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 361ms |
| total: | 584ms |

| 0 / 0 |
