Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

KeyDown Event   Найти похожие ветки 

 
INCOGNITO ©   (2003-06-21 03:26) [0]

Здравствуйте!

Проблемма такова:
При нажатии клавиши срабатывает процедура KeyDown, но если клавишу не отпускать, то получается как бы цикл, пока не отпустишь клавишу.
Как можно этого избежать? Т.е. при нажатии клавиши действие происходило 1 раз и до повторногонажатия не повторялось?


 
Dmk ©   (2003-06-21 03:45) [1]

Используй KeyUp


 
INCOGNITO ©   (2003-06-21 17:01) [2]

Нужно чтоб действие происходило по нажатию клавиши, а если продолжать её удерживать, нужно, чтоб повторов невозикало.


 
ggsoft ©   (2003-06-21 17:20) [3]

Ну заведи себе поле типа Boolean в классе и проверяй его...

или так:

{$J+}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
bDoIt: Boolean = False;
begin
if (Key = VK_INSERT) then begin
if (not bDoIt) then begin
bDoIt := True;
OutputDebugString("Just do it");
end;
end
else bDoIt := False;
end;

Минус - после отпускания клавиши, следующий раз сработает только если еще что-то нажал, так что лучше поле в классе...


 
INCOGNITO ©   (2003-06-22 01:47) [4]

Спасиб!
Придумал. Использовать эту идею, но в купе с KeyUp. тогда всё Ок.

Ещё раз fnx



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

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
14-7618
Дмитрий К.К.
2003-06-18 06:33
2003.07.03
Именинники 18 июня


3-7349
Катенок
2003-06-10 09:34
2003.07.03
Delphi 6 база foxpro?


1-7548
makruha
2003-06-21 15:05
2003.07.03
Как вызвать метод объекта по указателю?


11-7370
Alexander
2002-10-24 13:42
2003.07.03
Можно ли TKOLTrayIcon применять в сервисах?


3-7345
alexander_ua
2003-06-09 17:23
2003.07.03
Paradox и Win2000