Вниз
Скачать: CL | DM;

Помогите!!!   Найти похожие ветки 

← →
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 поставь то, что надо.
Кстати, это будет срабатывать, даже если твой шутер неактивен!!!




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
7-9002
Dmitry V. Averuanov
2001-10-22 11:16
2002.02.04
Нужно определить уровень сигнала на входе звуковой карты


1-8932
Станислав
2002-01-16 15:36
2002.02.04
Большие числа


14-8974
РУС
2001-12-12 18:06
2002.02.04
УРА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


1-8828
Dailagig
2002-01-20 12:11
2002.02.04
Help ME


1-8929
Vacheslav
2002-01-17 11:48
2002.02.04
Как запоминать настройки и полученные значения после закрытия программы




   Наверх