Форум — Ответы     (  К темам )
 ?  WiSucht: Как можно сделать, что бы работали сразу несколько нажатых клавиш (03-01-2003 20:21:52)
Помогите пожалуйста!!! Как можно сделать, что бы работали сразу несколько нажатых клавиш(как в играх), а то если одна нажата то вторая не работает( клавиши должны работать в обработчике KeyDown)???
ЗАРАНЕЕ СПАСИБО!!!
 Андрей (04-01-2003 23:31:18)
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{

int KeyUp=0, KeyDown=0, KeyLeft=0, KeyRight=0;

Label1->Caption = "";
Label2->Caption = "";
Label3->Caption = "";
Label4->Caption = "";

BYTE KeyState[256];

GetKeyboardState(KeyState);
if( (KeyState[VK_F1])==0x80) KeyUp=1;
if( (KeyState[VK_F2])==0x80) KeyDown=1;
if( (KeyState[VK_F3])==0x80) KeyLeft=1;
if( (KeyState[VK_F4])==0x80) KeyRight=1;

if(KeyUp == 1) Label1->Caption = "Up";
if(KeyDown == 1) Label2->Caption = "Down";
if(KeyLeft == 1) Label3->Caption = "Left";
if(KeyRight == 1)Label4->Caption = "Right";

}
//--------------------------------------------------------