![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отследить нажатие клавиш [D7, WinXP]
hypno © (2007-03-04 20:28:00)Нужно отследить нажатия кнопок Up и Down, как ни пытался - не получается, при OnKeyDown почему то не работает:
procedureTForm1.FormKeyDown(Sender: TObject; varKey: Word;
Shift: TShiftState);
begin
casekey of
VK_UP: gt:=gt+5;
VK_DOWN: gt:=gt-5;
end;
end;
,а OnKeyPress можно отследить только Char, то есть нажатие какой-то буквы, а как Стрелку Вверх отследить незнаю, подскажите пожалуйста, или поделитесь готовым примером, заранее спасибо! :)
RASkov (2007-03-05 02:35:00) [1]> [5] hypno (04.03.07 21:19)
begin
if GetKeyState(VK_LEFT)<0 then Left:=Left-1;
if GetKeyState(VK_RIGHT)<0 then Left:=Left+1;
if GetKeyState(VK_UP)<0 then Top:=Top-1;
if GetKeyState(VK_DOWN)<0 then Top:=Top+1;
end;
hypno (2007-03-04 21:19:00) [2]И у меня нету, откудаж ему взятся))
Romm (2007-03-04 21:10:00) [3]знаю такой способ:
uses
keyboard;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if IsKeyDown(VK_LEFT) then Form1.Left := Form1.Left - 1;
if IsKeyDown(VK_RIGHT) then Form1.Left := Form1.Left + 1;
if IsKeyDown(VK_UP) then Form1.Top := Form1.Top - 1;
if IsKeyDown(VK_DOWN) then Form1.Top := Form1.Top + 1;
end;
Только у меня модуля keyboard нету. Если у тя есть - пользуйся
hypno (2007-03-04 20:57:00) [4]Поставил KeyPreview := true; все равно не работает, хотя это пример из описания к Delphi 7, поидеи должно работать ;)
Romm (2007-03-04 20:46:00) [5]
> KeyPreview = true; у формы
чет всеравно не получается (
DVM (2007-03-04 20:36:00) [6]KeyPreview = true; у формы.