![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Типа клавиши, блин [D7, Win2k]
Checist [root] © (2003-01-26 01:16:00)Как мне в событии OnKeyPress сравнить нажатую клавишу с Enter, Shift, Ctrl, Delete, Home, End, Alt и Insert "ом?
Юрий Зотов (2003-01-26 01:47:00) [1]Остальное очень сложно. Во-первых, ловим в OnKeyDown, а не в OnKeypress. Во-вторых:
Enter - VK_RETURN
Delete - VK_DELETE
Home - VK_HOME
End - VK_END
Insert - VK_INSERT
Очень сложно, да?
В заключение - см. virual key codes в справке API.
PVOzerski (2003-01-26 01:40:00) [2]Я бы подумать немного посоветовал. Знать-то надо лишь то, что OnKeyPress такие клавиши, как Alt и Ctrl, в принципе не ловит, надо использовать OnKeyDown или OnKeyUp. Значения виртуальных кодов клавиш можно поискать по справочникам и хелпам, а можно легко выяснить экспериментально. Часть работы я за Вас сделал, можете продолжить:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
17:
label1.caption:="Ctrl";
18:
label1.caption:="Alt";
else
label1.caption:=inttostr(key);
end;
end;
Anatoly Podgoretsky (2003-01-26 01:18:00) [3]С помощью оператора сравнения "="