Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отследить нажатие клавиш [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; у формы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо