Двойное нажатие клавиш
Здравствуйте, помогите, пожалуйста, написать код для проверки двойных нажатий на кнопки. То есть как на правую кнопку компьютерной мыши два раза кликаешь чтобы открыть файл, так и мне нужно проверить например двойное нажатие на 5. Заранее спасибо)
|
Ответ: Двойное нажатие клавиш
Запоминаешь время и кнопку последнего нажатия и при новом нажатии смотришь разницу. Если меньше 100-200 миллисекунд, то нажатие двойное.
|
Ответ: Двойное нажатие клавиш
Мне кажется за 100 мс не успеют нажать. Но спасибо.
|
Ответ: Двойное нажатие клавиш
Не работает. Проверьте пожалуйста)
Код:
function get_double_key:integer; |
Ответ: Двойное нажатие клавиш
При проверке повторного нажатия getKeyClicked вызывается только один раз. И оно, скорее всего, будет Ke_none
Я бы написал такую функцию: var lastTime, lastKey:integer; doubleClick:boolean; procedure update(int key) var time:integer begin if key<>ke_none then begin time:=getRelativeTimeMS; doubleClick := (time-lastTime<500) and (key=lastkey); lastTime:=time; lastKey:=key; end; end; И вызывал бы её при проверках нажатий с клавиатуры. |
Ответ: Двойное нажатие клавиш
Что если так?
Код:
function doublekey(key:integer):boolean; |
Часовой пояс GMT +4, время: 16:12. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot