AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

KeyPress auf Formular?

Ein Thema von mirko2000 · begonnen am 26. Nov 2003 · letzter Beitrag vom 24. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
mirko2000

Registriert seit: 9. Nov 2003
69 Beiträge
 
#1

KeyPress auf Formular?

  Alt 26. Nov 2003, 10:46
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?
  Mit Zitat antworten Zitat
Killi138

Registriert seit: 18. Okt 2003
Ort: Nellmersbach/Stuttgart
23 Beiträge
 
Delphi 6 Professional
 
#2

Re: KeyPress auf Formular?

  Alt 26. Nov 2003, 10:57
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.!
Life is hard and then you die
  Mit Zitat antworten Zitat
mirko2000

Registriert seit: 9. Nov 2003
69 Beiträge
 
#3

Re: KeyPress auf Formular?

  Alt 26. Nov 2003, 11:01
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?
  Mit Zitat antworten Zitat
Killi138

Registriert seit: 18. Okt 2003
Ort: Nellmersbach/Stuttgart
23 Beiträge
 
Delphi 6 Professional
 
#4

Re: KeyPress auf Formular?

  Alt 26. Nov 2003, 11:07
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...
Life is hard and then you die
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: KeyPress auf Formular?

  Alt 26. Nov 2003, 11:18
Hallo,

stelle einmal die Eigenschaft von KeyPreview des Formulares auf TRUE.
  Mit Zitat antworten Zitat
mirko2000

Registriert seit: 9. Nov 2003
69 Beiträge
 
#6

Re: KeyPress auf Formular?

  Alt 26. Nov 2003, 11:22
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!
  Mit Zitat antworten Zitat
Killi138

Registriert seit: 18. Okt 2003
Ort: Nellmersbach/Stuttgart
23 Beiträge
 
Delphi 6 Professional
 
#7

Re: KeyPress auf Formular?

  Alt 26. Nov 2003, 12:00
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 ...!?
Life is hard and then you die
  Mit Zitat antworten Zitat
Killi138

Registriert seit: 18. Okt 2003
Ort: Nellmersbach/Stuttgart
23 Beiträge
 
Delphi 6 Professional
 
#8

Re: KeyPress auf Formular?

  Alt 26. Nov 2003, 12:02
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?
Life is hard and then you die
  Mit Zitat antworten Zitat
mirko2000

Registriert seit: 9. Nov 2003
69 Beiträge
 
#9

Re: KeyPress auf Formular?

  Alt 26. Nov 2003, 12:05
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.
  Mit Zitat antworten Zitat
Killi138

Registriert seit: 18. Okt 2003
Ort: Nellmersbach/Stuttgart
23 Beiträge
 
Delphi 6 Professional
 
#10

Re: KeyPress auf Formular?

  Alt 26. Nov 2003, 12:13
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)..........
Life is hard and then you die
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz