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

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

Как отловить нажатие на стрелки?


KIR ©   (2002-04-19 09:53:00) 

сабж


panov   (2002-04-22 13:42:00) [1]

>KIR © (22.04.02 13:31)
Создавай новый Topic для новых вопросов.


KIR   (2002-04-22 13:31:00) [2]

А зачем тогда нужно событие OnKeyPress?


Виктор Щербаков   (2002-04-22 13:30:00) [3]

KIR © (22.04.02 13:25)
По туму, что OnKeyPress Occurs when a user presses a single character key. А стрелки к ним не относятся.


Song   (2002-04-22 13:28:00) [4]

На оnKeyPress нужно обрабатывать не коды клавиш,а символы, например
IF Key=#13 then ShowMessage("нажата Enter");


KIR   (2002-04-22 13:25:00) [5]

Спасибо, народ! Еще вопрс (уже чисто из-за любознательности). А почему это все работает только по OnKeyDown, а по OnKeyPress нет?


Donal_Graeme   (2002-04-19 11:06:00) [6]

и Form.KeyPreview должно быть True.
и ещё, работать именно для стрелок это будет только если фокус ввода не находится на любом из контролов, так как в этом случае эти клавиши будут ими отрабатываться, и до формы дело не дойдёт.


handra   (2002-04-19 11:01:00) [7]

Cоздать ActionList, а в нем четыре Action с шот-катами Left, Right, Up и Down.


Donal_Graeme   (2002-04-19 10:56:00) [8]

и Form.KeyPreview должно быть True.
и ещё, работать именно для стрелок это будет только если фокус ввода не находится на любом из контролов, так как в этом случае эти клавиши будут ими отрабатываться, и до формы дело не дойдёт.


Ally   (2002-04-19 10:09:00) [9]


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_LEFT: Label1.Caption := "Left arrow is pressed";
VK_RIGHT: Label1.Caption := "Right arrow is pressed";
VK_UP: Label1.Caption := "Up arrow is pressed";
VK_DOWN: Label1.Caption := "Down arrow is pressed";
else Exit;
end;
end;


Потянет?


Наверх

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