![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как реализовать контроль MouseClick в приложении
atruhin © (2009-03-20 20:31:00)Т.е. нужно во всем приложении (желательно, включая диалоговые окна) ограничить, максимальную
частоту клика мыши. Как и где лучше перехватить.
KilkennyCat (2009-03-25 10:03:00) [1]
> и потом
> так потихооонечку давит на клавишу и смотрит на тебя, так
> или не так.
Есть такое дело... неоднократно наблюдал.
Сразу вспоминается две оффтопные вещи: игра мальчик в шашки в фильме "Плохой Санта" и подводнофлотская история, рассказанная мне на службе: там все на автоматизме, и когда командуют "Пли!", исполняющий тут же дергает или нажимает и оп-ля, ракета, торпеда, не помню что именно, но улетает. Однажды командир ошибся и после "Пли!" завопил: "Ой, не пли! Не пли!"...
atruhin (2009-03-24 16:05:00) [2]> [15] Германн © (23.03.09 21:48)
> Да. Но бывает ещё и клавиатура.
Ну похоже не обучал ты людей пользоваться компьютером.
Я несколько раз видел ситуацию, когда человек долго думает, что нажать и потом
так потихооонечку давит на клавишу и смотрит на тебя, так или не так.
А там автоповтооооооооор. :) Вообще, когда люди (особенно женщины) после 30-40 лет,
впервые подходят к компьютеру, это отдельная история.
KilkennyCat (2009-03-24 05:28:00) [3]
> бывает ещё и клавиатура.
еще бывает. но это уже прошлый век, укусанное яблоко скоро все клавиатуры сдаст в утиль. и мыши. и лишние пальцы, оставит лишь указательный.
Германн (2009-03-23 21:48:00) [4]
> KilkennyCat © (23.03.09 03:14) [9]
>
> Если действительно вопрос о touchscreen, то хук нафиг не
> нужен, ибо существует ведь логика интерфейса. возьмем тот
> же терминал... предположим, существует кнопка "далее".
Да. Но бывает ещё и клавиатура.
KilkennyCat (2009-03-23 21:10:00) [5]
> но кассиры бывают криворукие хуже старушек с тремором.
человеческий фактор легко лечится кнутом и пытками.
atruhin (2009-03-23 18:47:00) [6]Спасибо за советы.
> [9] KilkennyCat © (23.03.09 03:14)
> Так вот, если кнопка "оплатить" находится на том же месте,
> где и "далее", то есть неразрешимая проблема: при треморе
> рук будет нежелательное действие, а в случае задержки -
> недовольство меня, так как я нажимаю все быстро. Придется
> и скать золотую середину, изучать степень моего недовольство
> и среднюю ьреморную частоту.
Это понятно. Так и стараемся, но не всегда получается. Про страрушку это шутка была. :)
У нас кассовое ПО, но кассиры бывают криворукие хуже старушек с тремором. Я сам долго понять
не мог почему в некоторые клиенты жалуются (3-4 из нескольких десятков), то что товары сами
добавляются, окна закрываются и т.д. Пока сам не сел рядом кассиром у такого клиента и не стал
наблюдать, умудряются нажимать по два раза и на таче и мышью !!! Сам пробовал повторить - не получилось. :)
Так что теперь дополнительно делаю редизайн, плюс нужна задержка на мышь 200-300 мс. Менять диалоги не
охота, т.к. ПО рабочее, попробую локальный хук.
Плохиш (2009-03-23 13:13:00) [7]
> atruhin © (21.03.09 05:28) [6]
>
> > А зачем такое нужно? т.е. зачем везде-то(в диалогах) это
> > ограничивать?
>
> Например, терминал с touth экраном
Я конечно всех терминалов не видел, но на тех, с которыми имел дело, после нажатия кнопки, появляется окно с текстом "Ваш запрос обрабатывается. Пожалуйста подождите..." и никаких кнопок.
KSergey (2009-03-23 10:21:00) [8]вариант: при открывании каждого диалога изначально дизаблить в нем кнопки, раздизабливать через нек. интервал. Это вполне можно сделать в классе-предке всех диалогов, достаточно локальный таймер на диалог.
Во всяком случае это будет честнее, а значит понятнее в плане интерфейса (видно, что кнопки дизаблены).
А не реагирующие кнопки - тоже не прикольно, я ж по ним сильно долбить начну, раз он активна, но не срабатывает.
brother (2009-03-23 06:33:00) [9]имхо, таймер - самое оно...
KilkennyCat (2009-03-23 03:14:00) [10]Если действительно вопрос о touchscreen, то хук нафиг не нужен, ибо существует ведь логика интерфейса. возьмем тот же терминал... предположим, существует кнопка "далее". Нажатие ее вызывает следующее окно, с копкой "оплатить". Так вот, если кнопка "оплатить" находится на том же месте, где и "далее", то есть неразрешимая проблема: при треморе рук будет нежелательное действие, а в случае задержки - недовольство меня, так как я нажимаю все быстро. Придется и скать золотую середину, изучать степень моего недовольство и среднюю ьреморную частоту.
Вы можете сказать: "Да наср...ть нам на твое недовольство, мы о больных заботимся". И я соглашусь. Но менее покладистый посчитает, что терминал глючный и надавит еще и еще и сильнее и ваще пнет.
А ведь просто можно кнопку сдвинуть в сторону.
Германн (2009-03-23 00:38:00) [11]
> делай через хук... вариантов не вижу.
Если действительно вопрос о touchscreen, то можно и хук. Благо тут достаточен локальный хук.
Но можно и без хука. С таймером и простите за мат, "глобальной переменной".
MetalFan (2009-03-22 22:21:00) [12]делай через хук... вариантов не вижу.
atruhin (2009-03-21 05:28:00) [13]> А зачем такое нужно? т.е. зачем везде-то(в диалогах) это
> ограничивать?
Например, терминал с touth экраном, подходит бабулька с трясущимися руками,
и у нее вместо 1 нажатия получается 2. От этого нужно избавится.
Требование заказчика.
{RASkov} (2009-03-20 21:38:00) [14]> [3] atruhin © (20.03.09 21:13)
хук? т.е. возможно нужен хук...
А зачем такое нужно? т.е. зачем везде-то(в диалогах) это ограничивать?
Amoeba (2009-03-20 21:29:00) [15]
> Юмор конечно - хорошо! А по делу.
Если по делу - то только юмор.
atruhin (2009-03-20 21:13:00) [16]
> что это? или как это?
Т.е. например установили интервал с 1 сек. Задача после клика мышью в течении секунды,
блокировать все остальные клики. Т.е. запретить клик чаще чем 1 раз в сек.
> [2] Сергей М. © (20.03.09 20:56)
Юмор конечно - хорошо! А по делу.
Сергей М. (2009-03-20 20:56:00) [17]
> Как и где лучше перехватить
Одно из решений - оттяпать юзеру указательный, средний и безымянный пальцы на тех руках-ногах, которыми он бессовестно частно мацает мышиные кнопки)
Вряд ли большим и мизинцем он сможет клацать столь же виртуозно)
Процесс оттяпывания при желании можно даже автоматизировать.
{RASkov} (2009-03-20 20:43:00) [18]> [0] atruhin © (20.03.09 20:31)
> максимальную частоту клика мыши.
что это? или как это?