Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi KeyPress auf Formular? (https://www.delphipraxis.net/12375-keypress-auf-formular.html)

mirko2000 26. Nov 2003 10:46


KeyPress auf Formular?
 
Ich möchte ein kleineres Spiel mit einer Figur (Image) programmieren, die auf die Eingabe von den Pfeiltasten reagiert!

Wenn ich aber versuche eine Messagebox mit dem Ascii-Code auszugeben geschieht nichts (auch mit allen anderen Tasten z. B. Buchstaben, Zahlen)!

Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  ShowMessage(IntToStr(Key));
end;
Bringt dann ein KeyPress auf einem Formular überhaupt irgendwas?

Killi138 26. Nov 2003 10:57

Re: KeyPress auf Formular?
 
In KeyDOWN!

Code:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
        Showmessage(IntToStr(Key));
end;
am besten du machst hier ne Boolean-variable rein, also z.Bsp. rechts:= True und in KeyUP rechts:= False, sonst kannst du immer nur eine Pfeiltaste drücken, d.h. deine Figur kann sich nicht recht bewegen!
Die Bewegungen machst du in einem Timer, also
Code:
if rechts = True then
begin
  BEWEGUNG NACH RECHTS
end;

if hoch = True then
begin
  BEWEGUNG HOCH
end
usw.!

mirko2000 26. Nov 2003 11:01

Re: KeyPress auf Formular?
 
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  ShowMessage(inttostr(key));
end;
Er reagiert aber schon hier auf keinen Tastendruck!

Er müsste doch bei jedem Tastendruck eine Messagebox bringen in der der Ascii-Code des eingegebenen Zeichens steht, oder?

Killi138 26. Nov 2003 11:07

Re: KeyPress auf Formular?
 
:gruebel: ja, müsste eigentlich - bei mir gehts....wunderbar sogar...ist deine Form vielleicht nicht aktiv, hast du woanders hingeklickt, oder.....?
Hatte manchmal auch so ein Problem - da lag es dann an vielen vielen Buttons (wahrscheinlich lags an den GroupBoxen) etc., die auf meiner Form sind - probier es mal mit einer neuen Form aus, obs ÜBERHAUPT tut...

Gollum 26. Nov 2003 11:18

Re: KeyPress auf Formular?
 
Hallo,

stelle einmal die Eigenschaft von KeyPreview des Formulares auf TRUE.

mirko2000 26. Nov 2003 11:22

Re: KeyPress auf Formular?
 
Zitat:

Zitat von Gollum
stelle einmal die Eigenschaft von KeyPreview des Formulares auf TRUE.

Habs mal ausprobiert funktioniert aber leider auch nicht!

Ich hab auf meinem Formular noch ein Button! Ich bekomme aber den "Fokus" nicht vom Button auf das Formular!

Killi138 26. Nov 2003 12:00

Re: KeyPress auf Formular?
 
Jedem Element das OnKeyDown Event vom Form zuweisen...is noch die einzieg Möglichkeit, da die andere ja nicht funktioniert und du Formularen keinen Focus übergeben kannst :cry: ...!?

Killi138 26. Nov 2003 12:02

Re: KeyPress auf Formular?
 
Oder du installierst nen kleinen Hook (kriegst von mir, der liefert dir alle Tastendrücke in dein Programm!), allerdings ists ja auch blöd wenn du dann auf die Leertaste kommst, drückst du autom. deinen Button....mach doch n extra-Form, oder wozu brauchst du n Button in deinem Spiel?

mirko2000 26. Nov 2003 12:05

Re: KeyPress auf Formular?
 
Zitat:

Zitat von Killi138
Oder du installierst nen kleinen Hook (kriegst von mir, der liefert dir alle Tastendrücke in dein Programm!), allerdings ists ja auch blöd wenn du dann auf die Leertaste kommst, drückst du autom. deinen Button....mach doch n extra-Form, oder wozu brauchst du n Button in deinem Spiel?

z. B. um das Spiel anzuhalten.

Killi138 26. Nov 2003 12:13

Re: KeyPress auf Formular?
 
Das kannst du doch auf über eine TASTE machen, hab ich früher auch so gemacht, hatte überhaupt keine Buttons etc - Startbildschirm die Erklärung/Tastenbefehle, mit F2 neues Spiel, mit "Pause" und "p" pause des spiels (kurzzeitig anhalten), mit Esc Spiel beenden (anhalten)..........


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz