Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:52

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Form: OnKeyDown/Pressed
BeitragVerfasst: Fr Feb 27, 2004 03:37 
Offline
DGL Member

Registriert: Fr Feb 27, 2004 02:59
Beiträge: 13
Hallo,

wie kann ich mehrere Tastendrücke auf einmal feststellen(also UP und RECHTS gleichzeitig etc.)...?

scheint nicht so toll zu klappen...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 27, 2004 08:14 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Hallo,

Code:
  1.  
  2.     if ((GetAsyncKeyState(VK_LCONTROL) and $8000) = 0) then Exit;
  3.     if ((GetAsyncKeyState(VK_LSHIFT)   and $8000) = 0) then Exit;
  4.     if ((GetAsyncKeyState(VK_LMENU)    and $8000) = 0) then Exit;
  5.  
  6.  


Hier wird geprüft, ob die 3 Tasten Shift, Strg und Alt gleichzeitig gedrückt sind und wenn nicht, dann wird die Routine verlassen. Schau in der Hilft Dir GetAsyncKeyState an, dort ist auch ein Link zu den virtuellen Tastaturcodes.

Gruß
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 27, 2004 13:09 
Offline
DGL Member

Registriert: Fr Feb 27, 2004 02:59
Beiträge: 13
OK, an wlecher stelle müsst eich diese abfrage machen? im onkeydown/pressed event oder in ner eigenen schleife?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 27, 2004 13:58 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Je nach dem wo du die Abfage brauchst.
Willst du zum Beispiel Dauerfeuer einrichten so könntest du das über einen Timer-Event machen. Möchtest du ein einmaliges Ereignis starten(z.B. beenden) würde ich das über das onkeydown/pressed-Event machen.

Alternativ zur Abfrage GetAsyncKeyState könntest du auch sämtliche veränderungen der Tasten(die erhältst du ja durch die Erreignisse) in einem globalen Array [0..255] of Boolean speichern.
Diesen Brauchst du dann nur noch abzufragen.:
Code:
  1.  
  2. var
  3.   Key:array [0..255] of Boolean;
  4.   XPosition:Integer;//Beispiel
  5.  
  6. procedure Berechne;
  7. begin
  8.  if Key[VK_LCONTROL] and Key[VK_LEFT] then
  9.  Inc(XPosition);
  10. end;
  11.  


MfG
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]