![]() |
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:
Bringt dann ein KeyPress auf einem Formular überhaupt irgendwas?
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin ShowMessage(IntToStr(Key)); end; |
Re: KeyPress auf Formular?
In KeyDOWN!
Code:
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!
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin Showmessage(IntToStr(Key)); end; Die Bewegungen machst du in einem Timer, also
Code:
usw.!
if rechts = True then
begin BEWEGUNG NACH RECHTS end; if hoch = True then begin BEWEGUNG HOCH end |
Re: KeyPress auf Formular?
Delphi-Quellcode:
Er reagiert aber schon hier auf keinen Tastendruck!
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin ShowMessage(inttostr(key)); end; Er müsste doch bei jedem Tastendruck eine Messagebox bringen in der der Ascii-Code des eingegebenen Zeichens steht, oder? |
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... |
Re: KeyPress auf Formular?
Hallo,
stelle einmal die Eigenschaft von KeyPreview des Formulares auf TRUE. |
Re: KeyPress auf Formular?
Zitat:
Ich hab auf meinem Formular noch ein Button! Ich bekomme aber den "Fokus" nicht vom Button auf das Formular! |
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: ...!?
|
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?
|
Re: KeyPress auf Formular?
Zitat:
|
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 17:30 Uhr. |
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