Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Тройной клик в VBA

23K
11 ноября 2007 года
wildlucas
10 / / 20.04.2007
Товарищи, помогите, пожалуйста! Препод сказал, что если я обработаю тройной клик, он поставит автомат. Проблема заключается в том, что, во-первых, среда разработки -- проклятый VBA, а во-вторых, программа должна обрабатывать каждый клик отдельно, как в статье "Раздельная обработка одиночного и двойного клика мыши в swing.". Если вдаться в подробности, то все это выглядит примерно так:
на форме лежит одна кнопка;
при нажатии на ней одиночным кликом открывается форма №1;
при нажатии на ней двойным кликом открывается форма №2, при этом форма №1 не открывается;
при нажатии на ней тройным кликом открывается форма №3, при этом формы №1 и №2 не открываются.
Две недели уже бьюсь -- никак не могу справиться.
P.S.: Я не уверен, но кнопка, вообще, очень специфичный контрол. У нее поведение особенное. Обработка кликов происходит не так, как у других контролов. Но это уже второстепенно. Главное обработать клики раздельно: одиночный, двойной, тройной.
P.P.S.: Задача нетривиальная, но я очень надеюсь, что мне кто-нибудь поможет. Заранее благодарю.
263
12 ноября 2007 года
koltaviy
816 / / 16.12.2004
Не читал статью.
А так разве нельзя обработать:
Определяешь время между кликами, которое ОС считает за двойной щелчок.
При первом клике запоминаешь время клика в мс, записываешь в переменную 1. Потом по таймеру: если время прошло большее, чем система считает за двойной щелчок, запускаешь Форму №1; если "пришел" второй клик, записываешь в переменную 2 и т.д..
Так хоть 4-й клик можно отловить :)
Единственная проблема, ИМХО, - узнать функцию, которая определяет тот самый промежуток между кликами, либо тупо взять его за константу.
23K
22 января 2008 года
wildlucas
10 / / 20.04.2007
koltaviy, спасибо большое! Решение-то тривиальное и не очень красивое (время взял фиксированное 500 мс). Я хотел, что-то более интересное придумать, но преподу хватило и этого. Поставил 2 автомата по курсовым (современные системы управления базами данных; и управление данными :) ). Типа, уговор дороже денег. Правда, теперь я участвую в научно-практической конференции :D. Ну это ладно, прорвемся. Если завтра автомат по экзамену получу, вообще прикол будет.
С меня пиво!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог