Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Вниз

Помогите!!! 


MystiX   (2002-01-17 16:59) [0]

Как узнать нажатие двух кнопок (на клавиатуре) одновременно, а не по очереди, по примеру старых шутеров что бы идти наискосок?
--------------------------------------------------------------
Заранее спасибо!!!



Snake   (2002-01-17 17:24) [1]

Можно, например, самое простое - это обработать событие OnKeyDown.

procedure TMainForm.MainFormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssShift in Shift)and(key=VK_UP) then ShowMessage("Вперед с шиытом")
end;



valery_f   (2002-01-17 19:10) [2]

Как ни пытайся одновременно - сначала прийдет "нажатие" от одной кнопки, потом от другой (шутка :)) Следи не только за нажатием, но и за отпусканием - тогда и увидишь нажато ли что-то одновременно (можно завести таблицу состояния нужных клавиш - нажато или нет).



@ndron   (2002-01-17 20:25) [3]

Поробуй так:


procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (getasynckeystate(vk_up)<>0) and (getasynckeystate(vk_left)<>0) then beep;
end;


Вместо beep поставь то, что надо.
Кстати, это будет срабатывать, даже если твой шутер неактивен!!!




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.034 c
1-8951            Oleg Fomicheff        2002-01-18 13:18  2002.02.04  
RxLib TrayIcon: как убрать из Taskbar


14-9000           Вадим                 2001-12-12 18:21  2002.02.04  
Не хорошо... :((


7-9010            Grey                  2001-10-26 00:05  2002.02.04  
Работа с библиотеками


3-8751            Olfi                  2002-01-03 15:29  2002.02.04  
Вопрос по TQuery...


1-8916            Лана Розанова         2002-01-17 15:39  2002.02.04  
Memo