AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

onkeypress - wie geht das?

Ein Thema von the-damian · begonnen am 29. Nov 2005 · letzter Beitrag vom 29. Nov 2005
Antwort Antwort
the-damian

Registriert seit: 29. Nov 2005
Ort: Densborn
4 Beiträge
 
Delphi 6 Personal
 
#1

onkeypress - wie geht das?

  Alt 29. Nov 2005, 16:16
Hi!

So, ich hoffe mal, dass das hier der richtige Bereich für meine Frage ist

Das ganze is nämlich so, ich wollte just for fun eigentlich mit Delphi rumspielen und ein "Rennprogramm" schreiben.
Das sollte so aussehen, dass die Spieleranzahl (max. 3) eigegeben wird, und man klickt auf einen Startbutton. Dann erscheinen entsprechend der Spieleranzahl die Bilder der Tiere, die von den Spielern gesteuert werden.
Soweit klappts noch!

Dann soll aber jedem Bild eine Taste zugeordnet werden, und jedes mal wenn diese Taste gedrückt wird, soll das Bild, dass zu dieser Taste gehört, um einen bestimmten Betrag nach rechts verschoben werden.
Und das klappt jetzt nicht mehr so wirklich.
Hier ein Ausschnitt aus dem, was ich versucht hab:

procedure TRennen.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key = 'a')
then begin
ImFrosch.Left := ImFrosch.Left +10;
end
end;

ImFrosch ist dabei das zu bewegende Bild, und die Taste "a" schien mir gut zu Froasch zu passen

Ich hoff mal, jetzt stehen hier alle Infos, die dafür nötig sind.

Ach ja, wer mir helfen kann und in der Nähe wohnt kriegt demnächst mal einen ausgegeben

Danke schonmal,
Damian
  Mit Zitat antworten Zitat
Benutzerbild von Daniel B
Daniel B

Registriert seit: 27. Okt 2005
Ort: Dachau
453 Beiträge
 
Delphi 2007 Professional
 
#2

Re: onkeypress - wie geht das?

  Alt 29. Nov 2005, 16:21
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = 'qthen
    Button1.Left := Button1.Left + 10;
  if Key = 'athen
    Button2.Left := Button2.Left + 10;
  if Key = 'ythen
    Button3.Left := Button3.Left + 10;
end;
Vom Code her hast Du das schon richtig gemacht, allerdings hast Du ne kleinigkeit vergessen.
Geh in den Object Inspector und stelle für Form1 "KeyPreview" auf True.
Hab zwar keine Ahnung wo Du wohnst, kannst mir aber ein dunkles Weissbier schicken.
  Mit Zitat antworten Zitat
the-damian

Registriert seit: 29. Nov 2005
Ort: Densborn
4 Beiträge
 
Delphi 6 Personal
 
#3

Re: onkeypress - wie geht das?

  Alt 29. Nov 2005, 16:32
Hi!

hab grad gesehen, dass ich ein KeyPreview einstellen muss, dann klappt's!

Danke an alle, die es beinahe geschafft hätten, mir zu helfen

MfG
Damian
  Mit Zitat antworten Zitat
Puhbaehr
(Gast)

n/a Beiträge
 
#4

Re: onkeypress - wie geht das?

  Alt 29. Nov 2005, 16:33
Servus!

Also ich habe mal eben statt des Frosches ein Edit-Feld genommen. KeyPress funzt da wunderbar:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 begin
  if (Key = 'd') then
   begin
    Self.Edit1.Left := Self.Edit1.Left + 10;
   end;
  if (Key = 'a') then
   begin
    Self.Edit1.Left := Self.Edit1.Left - 10;
   end;
 end;
Bist du sicher, dass ImFrosch.Left := ImFrosch.Left + 10; funktioniert?

Hast du das KeyPress nur im der Ereignisbehandlung fürs Form also im FormKeyPress drin oder auch in den anderen Komponenten (imFrosch z.B.)? Vielleicht helfen dir Hooks weiter... setz mal ein Beep oder ein ShowMessage in die FormKeyPress-Methode um zu sehen ob sie funzt.

Oha...Rote Box...
@Daniel B: KeyPreview scheint das Problem nicht wirklich zu löschen. Tuts bei mir zumindest nicht.

Gruß, Robert

Edit: Noch ne rote Box... stimmt du hast ja das Ereignis im Form behandelt. Ja, dann stimmt das mit KeyPreview. Viel Glück weiterhin.
  Mit Zitat antworten Zitat
the-damian

Registriert seit: 29. Nov 2005
Ort: Densborn
4 Beiträge
 
Delphi 6 Personal
 
#5

Re: onkeypress - wie geht das?

  Alt 29. Nov 2005, 16:34
Uups, und hab sogar noch übersehen, dass ich sogar schon eine Antwort hatte

I'm sorry und vielen Dank für die schnelle Hilfe!!!

Das Bier ist unterwegs
  Mit Zitat antworten Zitat
the-damian

Registriert seit: 29. Nov 2005
Ort: Densborn
4 Beiträge
 
Delphi 6 Personal
 
#6

Re: onkeypress - wie geht das?

  Alt 29. Nov 2005, 16:41
So, hoffentlich kommt diesmal keine neue Antwort, solange ich noch am tippen bin
Also, mit dem Quelltext-Fetzen, den ich hier reingesetzt hab, funktioniert's bei mir wunderbar seit ich KeyPreview oder wie das heißt auf True gesetz hab.

thx @ Daniel B und Puhbaehr!

MfG
Damian
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:39 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