🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
3 messages
3 total messages Started by kme Thu, 20 Feb 2003 15:59
Borland C++ Builder 5 Toetsenbord besturing
#5860
Author: kme
Date: Thu, 20 Feb 2003 15:59
16 lines
1495 bytes
Ik ben een spel snake aan het maken en zou graag hebben dat de slang 
reageert op de pijltoetsen. Nu had ik de volgende functie:

void __fastcall TsnakeSpel::snakeSpelKeyPress(TObject *Sender, char &Key){
  if (Key ==VK_UP) richting = 0;
  else if (Key ==VK_DOWN) richting = 1;
  [...]

Als ik men programma link reageert men slang totaal niet. Waarschijnlijk 
moet ik een "actionlistener" of iets dergelijks op men Form  plaatsen...

Wie kan mij helpen?

-- 
mvg,
kme
Re: Borland C++ Builder 5 Toetsenbord besturing
#5861
Author: edg
Date: Thu, 20 Feb 2003 16:25
41 lines
2457 bytes
"kme" <xzr@cnaqben.or.ROT13.invalid> schreef in bericht
news:Xns9328AD384E74Ekmepandorabe@195.130.132.68...
> Ik ben een spel snake aan het maken en zou graag hebben dat de slang
> reageert op de pijltoetsen. Nu had ik de volgende functie:
>
> void __fastcall TsnakeSpel::snakeSpelKeyPress(TObject *Sender, char &Key){
>   if (Key ==VK_UP) richting = 0;
>   else if (Key ==VK_DOWN) richting = 1;
>   [...]
>
> Als ik men programma link reageert men slang totaal niet. Waarschijnlijk
> moet ik een "actionlistener" of iets dergelijks op men Form  plaatsen...
>
> Wie kan mij helpen?

Occurs when a user presses a single character key.

typedef void __fastcall (__closure *TKeyPressEvent)(System::TObject* Sender,
char &Key);
__property TKeyPressEvent OnKeyPress = {read=FOnKeyPress,
write=FOnKeyPress};

Description

Use the OnKeyPress event handler to make something happen as a result of a
single character key press.

The Key parameter in the OnKeyPress event handler is of type Char;
therefore, the OnKeyPress event registers the ASCII character of the key
pressed. Keys that don't correspond to an ASCII Char value (Shift or F1, for
example) don't generate an OnKeyPress event. Key combinations (such as
Shift+A), generate only one OnKeyPress event (for this example, Shift+A
results in a Key value of "A" if Caps Lock is off). To respond to non-ASCII
keys or key combinations, use the OnKeyDown or OnKeyUp event hand


>
> --
> mvg,
> kme
Re: Borland C++ Builder 5 Toetsenbord besturing
#5870
Author: KLinZ
Date: Fri, 21 Feb 2003 20:33
20 lines
1934 bytes
kme wrote:
> Ik ben een spel snake aan het maken en zou graag hebben dat de slang
> reageert op de pijltoetsen. Nu had ik de volgende functie:
>
> void __fastcall TsnakeSpel::snakeSpelKeyPress(TObject *Sender, char
>   &Key){ if (Key ==VK_UP) richting = 0;
>   else if (Key ==VK_DOWN) richting = 1;
>   [...]
>
> Als ik men programma link reageert men slang totaal niet.
> Waarschijnlijk moet ik een "actionlistener" of iets dergelijks op men
> Form  plaatsen...
>

Gebruik KeyDown ipv KeyPress. KeyPress werkt met ascii codes. KeyDown met
virtual key codes zoals jij ze gebruikt. Overigens is het geen slecht idee
om de ifthenelseifthen te vervangen door een switch(Key) statement.

--
www.zenobits.com
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads