|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.02.2015, 00:13 | #1 |
Пользователь
Регистрация: 28.12.2011
Сообщений: 41
|
Кнопка пропускает нажатия
Всем, доброго времени суток!
Имеется форма, на ней обычная кнопка (CommandButton) и простейший код, запускаемый кликом по этой кнопке. Обнаружил такой странный эффект, на который ранее никогда не обращал внимание: не все щелчки кнопки мыши отрабатываются на форме, при этом видно, что сама кнопка "нажимается", но код отрабатывается не всегда. Тестовая процедура CommandButton1_Click() просто подсчитывает клики и выводит счетчик на форму. Но почему-то при 100 кликах счетчик показывает меньшие значения. Если нажимать не чаще раза в секунду и держать кнопку нажатой по секунде, то отрабатываются все клики без проблем. Мышь исправна, компьютер работает вполне сносно, в других программах такого глюка не наблюдается. Что это может быть за чертовщина и как с ней бороться? |
24.02.2015, 01:38 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Да, такие вот тормозные кнопки (в 2007 офисе). Используйте SpinButton, он успевает отрабатывать + есть автоповтор + код очень простой
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
24.02.2015, 09:51 | #3 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Вероятно какие-то клики определяются как даблклики.
P.S. Точно, посмотрел файл. Добавьте в код ещё такие две процедуры: Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 24.02.2015 в 10:00. |
24.02.2015, 15:11 | #4 |
Пользователь
Регистрация: 28.12.2011
Сообщений: 41
|
Казанский, спасибо!
SpinButton - действительно не глючит, но это не совсем то, что нужно. У меня просто тестовый скрипт, в боевом применении там все намного сложнее двух кнопок "<" и ">". Hugo121, спасибо! Вы абсолютно правы, часть кликов почему-то отрабатывается, как DblClick. Увеличение скорости двойного клика в настройках мыши уменьшает число ложных DblClick(ов), но не совсем. Выходит, что проблема все-таки в мыши? |
24.02.2015, 15:17 | #5 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Проблема думаю в том, что на кнопке есть обработка двойного клика, но перед ним обрабатывается одинарный. А как сделать двойной, не кликнув два раза по одному?
webmoney: E265281470651 Z422237915069 R418926282008
|
24.02.2015, 17:39 | #6 | |
Пользователь
Регистрация: 28.12.2011
Сообщений: 41
|
Попросил прогнать мой тест на нескольких офисных машинах с разными мышами и ОС. Просил поставить средние значения скорости двойного клика. Вышеозначенный глюк наблюдается везде, но результаты лучше на сервере с Win.Server-2003 и USB-мышью и на ноутбуке под Win 8 и тоже внешней USB-мышью.
Цитата:
|
|
24.02.2015, 17:48 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Да не при чём там драйвер - это кнопка обрабатывает одинарный клик, а если следом следует второй и уже получается даблклик - обрабатывает его как даблклик. На что у Вас обработчика то и не было - вот он и пропадал. Я обработчик добавил, и теперь у меня ничего не пропадает. У Вас пропадает?
webmoney: E265281470651 Z422237915069 R418926282008
|
24.02.2015, 18:18 | #8 |
Пользователь
Регистрация: 28.12.2011
Сообщений: 41
|
С двумя обработчиками работает нормально, но ИМХО это как-то "некрасиво", что ли...
|
24.02.2015, 21:54 | #9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Букв жалко?
Используйте любой другой элемент, где нет обработки даблкликов. Я правда ничего не предложу - кроме уже предложенного SpinButton сходу ничего не помню, искать нужно...
webmoney: E265281470651 Z422237915069 R418926282008
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
IdHTTP1.Get пропускает часть html | apostol584 | Работа с сетью в Delphi | 1 | 10.06.2013 10:19 |
Пропускает Readln(<string>) | olololeg | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 12.11.2012 18:49 |
Проблема с Паскалем пропускает ввод | Veor12 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 22.10.2011 11:46 |
Цикл For c TsCheckBox пропускает значения 0 2 3 ... | ArtGrek | Общие вопросы Delphi | 7 | 30.01.2011 12:43 |
FindFirstFile не пропускает папки | Nitrino | Win Api | 2 | 20.06.2010 20:03 |