Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Подсчёт числа нажатий мыши


Автор: nonik 20.5.2008, 03:19
Возможно ли определение числа нажатий кнопок мыши. Подсчёт раздельный желательно для каждой из трёх кнопок.
В событии MouseDown возможно? Или другими способами?

Автор: cardinal 20.5.2008, 03:27
Посмотри пример
http://www.freevbcode.com/ShowCode.asp?ID=3354

Автор: nonik 20.5.2008, 04:20
Само событие и его вариации я знаю. Но там нет колчество нажатий подсчёта.... Но где то поподалось нагалаза схемка с их использованием.  Но если ошибаюсь то какими способами это подругому можно

Автор: Akina 20.5.2008, 08:12
Нигде в системе такая информация не считается и не хранится - по причине очевидной ее ненужности.
Точный подсчет средствами VB невозможен даже в рамках VB-приложения - всегда возможны пропуски событий. А опрашивать постоянно драйвер - закоматозить систему.

А нахрена вообще это?

Автор: nonik 20.5.2008, 11:30
Мне необходимо: Открывается форма и вне снимаются показания положения курсора мыши в момент нажатия (MouseDown), после 6-го нажатия форма закрывается. Потом возможен вход в форму оять. и таже процедура заново. Вот и надо считать пробую через функцию Static nCounter но она не обнуляется не после закрытия формы ни после принудидельного присвоения Ноль

Автор: Akina 20.5.2008, 11:53
А Static-то зачем?

Автор: neiron 20.5.2008, 14:39
nonik, как я понимаю, по какому-то событию мыши должно происходить какое-то действие (всё же форма не для того нужна чтобы просто так по ней щёлкать 6 раз). Определи это событие. То ли это mousedown, то ли mouseup, то ли dblclick. 
После прохождения этого действия (именно того, которое необходимо при клике) инкримент каунтера. На формочке можно разместить лэйбл с отображением каунтера (так юзер будет видеть что случилось), к примеру, в статусбаре. 
Если это того требует, можно сделать undo - если юзер нечайно щёлкнул, либо обработчик неправильно отреагировал. 
Ну а каунтер разместить на уровне формы, и фору выгружать полностью. тогда никакого обнуления не надо будет. либо в глобальном модуле разместить. тогда фору очищать надо будет пр показе (если её не выгружать). 
В общем, мне кажется, алгоритмически можно реализовать. 
А если ты всё же раскроешь секрет зачем эти 6 нажатий, то быть может и другой способ найдётся.

Автор: nonik 21.5.2008, 05:28
Когда начинал писать эту прогу - думал этот шаг один из простых будет.
По существу: Из главной формы кнопкой пуск вызывается другая форма. К компьютеру подключена ещё одна лазерная мышь которая находится в составе некого электронного устройства выполняющего измерение. Измерениеями и будут считаться перемещение курсора мыши по оси Х. Для фиксации момента в который нужно произвести измерени - нажимается кнопка мыши. Всего измерений 6 (шесть). В процессе измерений на форме появляются комментарии и прчий хелп так как может быть произведено не шесть а меньше измерений и этого достаточно. После нужного количества измерений (после шестого автоматически) - форма закрывается и управление в главную форму. После первого запуска приложения эта процедура можетповторяться неограниченное количество раз. Вот и необходимо подсчёт количества нажатий. И ещё вопрос. Как програмно енять чувствительность мыши?

Добавлено через 3 минуты и 56 секунд
http://forum.vingrad.ru/index.php?showtopic=212182&view=getnewpost

А Static - предпологалось использовать для подсчёта нажатий- это же счётчик события, в моём случае.

Автор: Akina 21.5.2008, 09:02
Цитата(nonik @  21.5.2008,  06:28 Найти цитируемый пост)
Static - предпологалось использовать для подсчёта нажатий- это же счётчик события, в моём случае. 

Гм... для ТАКОЙ цели используют Public-переменные в common-модулях... Вы хоть почитайте СУТЬ Static-объявления...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)