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

События OnKeyDown и OnKeyUp.   Найти похожие ветки 

 
sachem ©   (2003-02-14 14:03) [0]

С событием OnKeyUp все понятно оно происходит один раз при
отпускании клавиши. А вот OnKeyDown происходит много раз
при удерживании клавиши в нажатом состоянии. Как сделать
так, чтобы это событие происходило при нажатии только
один раз.


 
Reindeer Moss Eater   (2003-02-14 14:05) [1]

procedure Something.OnKeyDown(....
begin
if not FirstTime then Something.OnKeyDown:=nil;
end;


 
sachem ©   (2003-02-17 11:19) [2]

Что-то у меня так не получилось???
Он вообще не знает таких функций?


 
Reindeer Moss Eater   (2003-02-17 11:26) [3]

Он вообще не знает таких функций?
Кто он и каких таких функций?


 
alxx ©   (2003-02-17 11:31) [4]

Похоже он имел ввиду следующее:

procedure Something.OnKeyDown(....
begin
if FirstTime then FirstTime:=False Else Exit;
end;

procedure Something.OnKeyUp(....
begin
FirstTime:=True;
end;

procedure Something.OnFormCreate(....
begin
FirstTime:=True;
end;




 
Reindeer Moss Eater   (2003-02-17 11:38) [5]

Как сделать так, чтобы это событие происходило при нажатии только
один раз.


alxx, твое решение не уменьшает количество генерируемых событий OnKeyDown.


 
alxx ©   (2003-02-17 12:10) [6]

Точно подмечено


 
Anatoly Podgoretsky ©   (2003-02-17 12:19) [7]

procedure Something.OnKeyDown1(....
begin
Something.OnKeyDown := nil;
...
end;

procedure Something.OnKeyUp1(....
begin
Something.OnKeyDown := OnKeyDown1;
...
end;


 
sachem ©   (2003-02-17 17:59) [8]

А если я нажму несколько клавиш этот код будет работать?



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

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



Память: 0.46 MB
Время: 0.012 c
1-87516
stikriz
2003-02-16 00:28
2003.02.27
RTTI


1-87562
Hint
2003-02-17 13:03
2003.02.27
Оптимизация поиска в файлах


4-87761
Шоломицкий
2003-01-12 22:52
2003.02.27
PlaySound


4-87749
markers
2003-01-14 07:41
2003.02.27
Как сделать недоступной форму?


4-87742
MyNameIsVova
2003-01-13 17:14
2003.02.27
Ресурсное меню. Изменение сочетаний горячих клавиш (API).




   Наверх