![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OnKeyDown [D7, XP]
Radgar © (2007-02-27 11:24:00)Здравствуйте.
Подскажите, пожалуйста, как с помощью OnKeyDown отловить нажатие одновременно двух клавиш и узнать какие именно клавишы были нажаты. Если нельзя OnKeyDown'ом, то есть ли другое решение проблемы?
TRUNK (2007-02-27 14:49:00) [1]> Подскажите, пожалуйста, как с помощью OnKeyDown отловить нажатие
> одновременно двух клавиш и узнать какие именно клавишы были нажаты
Например, вот так:
var
KeyPressed: array[VK_LBUTTON..VK_OEM_CLEAR] ofBoolean;
procedureTForm1.Form1KeyDown(Sender: TObject; varKey: Word; Shift: TShiftState);
begin
KeyPressed[Key] := true;
ifKeyPressed[VK_LEFT] andKeyPressed[VK_UP] then
begin
{.....}
end;
end;
procedureTForm1.Form1KeyUp(Sender: TObject; varKey: Word; Shift: TShiftState);
begin
KeyPressed[Key] := false;
end;
Radgar (2007-02-27 14:13:00) [2]
> Точнее нажать и удерживать.
Ну да. А есть ли способ отлавливать такие нажатия?
RebroFF (2007-02-27 13:43:00) [3]
> нажатие одновременно двух клавиш
Точнее нажать и удерживать.
Radgar (2007-02-27 11:35:00) [4]
> насколько одновременно?
Например, держать (вместе) стрелки влево и вперед.
Elen (2007-02-27 11:34:00) [5]
> одновременно двух клавиш
насколько одновременно?