Возможна ли обработка двойного щелчка мышью на кнопке (TButton)?
1. Возможно ли создать обработку двойного щелчка на кнопке?
Дело в том, как известно, устанавливая функции обработки
события для одиночного (OnClick) и для двойного щелчка
(OnDblClick) на кнопке - обработка двойного щелчка
не вызывается, т.е. и не выполняется.
И первое, что может прийти в голову - это, конечно,
перехват интервалов между нажатиями данной кнопки
(и если интервал меньше n милисекунд, то вызывать
функцию для обработки, как бы, двойного щелчка).
Но, тогда возникает второй вопрос:
2. Как корректно перехватывать клики, откуда вызывать
проверку на интервал -из данной кнопки, на форме?
Заранее спасибо за ответ!
1. Возможно ли создать обработку двойного щелчка на кнопке?
Дело в том, как известно, устанавливая функции обработки
события для одиночного (OnClick) и для двойного щелчка
(OnDblClick) на кнопке - обработка двойного щелчка
не вызывается, т.е. и не выполняется.
И первое, что может прийти в голову - это, конечно,
перехват интервалов между нажатиями данной кнопки
(и если интервал меньше n милисекунд, то вызывать
функцию для обработки, как бы, двойного щелчка).
Но, тогда возникает второй вопрос:
2. Как корректно перехватывать клики, откуда вызывать
проверку на интервал -из данной кнопки, на форме?
Заранее спасибо за ответ!
Возможно. Обрабатывая последовательные события OnMouseDown и получая системное значение при котором клик становится двойным.
Вопрос - зачем подобные извращения?
Вопрос - зачем подобные извращения?
альтернативное нажатие буттона я один раз тож использовал... была ситуация, когда в очень редких случаях от кнопки требовалось выполнить операцию, чуть-чуть отличающуюся от основной... правда я не зацикливался на двойном клике, а тупо обрабатывал правое нажатие по OnMouseDown;)
есть такое понятие - "юзабилити" - которое, в том числе, предполагает, что если в интерфейсе используется кнопка - то действие по ней выполняется одним кликом. Поэтому все что "чуть-чуть отличается от основной" как правило говорит о плохом проектировании. ИМХО. Поэтому мне кажется лучше потратить время и продумать интерфейс, что бы пользователю не приходилось вместо того, что бы работать с программой, разгадывать квесты - тут надо дважды кликнуть по кнопке - а тут подпрыгнуть на стуле.
Представте себе выключатель, на который нужно два раза клацнуть что бы включился свет.