Нажатие нескольких клавиш.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Нажатие нескольких клавиш.

Сообщение Seemmyy » 31.07.2012 22:59:19

При нажатии нескольких клавиш видит только одну.

Код: Выделить всё
procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
begin
  if key='w' then ...
  if key='s' then ...
  if key='o' then ...
  if key='l' then ...
end;


Тоесть, клавиши работают поочереди, а одновременно нет.
Подскажите, как исправить.
Seemmyy
незнакомец
 
Сообщения: 4
Зарегистрирован: 27.05.2012 19:48:42

Re: Нажатие нескольких клавиш.

Сообщение Сквозняк » 01.08.2012 00:30:15

Естественно, события нажатия клавиш выстроились в очередь и в порядке очереди обрабатываются :) Самое простое записывать время событий keydown и keyup и при KeyPress проверять по записям что там ещё нажато.
Сквозняк
энтузиаст
 
Сообщения: 1129
Зарегистрирован: 29.06.2006 22:08:32


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 242

Рейтинг@Mail.ru