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

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

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]


> одновременно двух клавиш

насколько одновременно?


Наверх

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