Вниз
Скачать: 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.01 c
1-97702
MakNik
2003-06-17 15:32
2003.06.30
Главное меню


14-97857
leseal1
2003-06-13 04:47
2003.06.30
Компонент для создания *.gif на кнопке


1-97719
DDDeN
2003-06-17 16:07
2003.06.30
Добавление строки в TLabel


3-97503
Nomad
2003-06-05 11:35
2003.06.30
MasterFileds - настройка в реал -тайме


1-97629
_Alex_
2003-06-18 17:02
2003.06.30
Вызов формы из dll




   Наверх