Вниз
Скачать: CL | DM;

Как очистить буфер клавиатуры?   Найти похожие ветки 

← →
vv_fran   (2003-06-17 15:03) [0]

Как очистить буфер клавиатуры? Есть приложение с горячей клавишей <Enter>, по удержанию ее событие генерится много раз. Как избежать?


← →
Song ©   (2003-06-17 15:20) [1]

Своё приложение или чужое?


← →
vv_fran   (2003-06-17 15:22) [2]

Мое, конечно


← →
Song ©   (2003-06-17 15:24) [3]

Вообще PeekMessage(), но это грубо. Я думаю, что твою задачу можно решить в том, месте "где Enter удерживается".


← →
vv_fran   (2003-06-17 15:34) [4]

А что значит "где Enter удерживается"? Программа делает конвертацию из одного формата БД в другой и когда не может автоматически перевести - появляется окно ручной коррекции не найденных данных( с частичным поиском) и по <Enter> принимается коррекция к запоминанию и окно закрывается и до следующей невозможности автоматической конвертации. Т.е перед открытием(после открытия) окна надо очищать буфер клавиатуры.


← →
Song ©   (2003-06-17 15:38) [5]

А Enter потверждает данные?
Я бы кинул на это окно TBitBtn, дал бы ему ModalResult:=mrOk, по нажатию кнопки форма закрывается, программа что нужно делает, обработка идёт дальше. Буфер нигде очищать не надо.


← →
vv_fran   (2003-06-17 16:48) [6]

Не работает. Даже если я держу Enter и отпускаю его до создания окна коррекции, то окно пявляется и тут же исчезает.


← →
vv_fran   (2003-06-17 17:07) [7]

Проблема решилась очень просто - перед показом окна надо написать:
Application.ProcessMessages();



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
14-97806
Gimer
2003-06-10 17:08
2003.06.30
Голубое окно смерти Windows


3-97490
McSimm2
2003-06-05 09:42
2003.06.30
Индексирование полей на ORACLE


11-97568
lamachok
2002-10-22 20:08
2003.06.30
поиск-запись


1-97604
Vihr
2003-06-19 08:51
2003.06.30
CustomAlignPosition


14-97789
Silentium!
2003-06-14 14:05
2003.06.30
для локальной сети....




   Наверх