AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Auf Pfeiltasten reagieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auf Pfeiltasten reagieren

Ein Thema von Peter_Panther · begonnen am 7. Dez 2003 · letzter Beitrag vom 5. Nov 2017
Antwort Antwort
nahpets
(Gast)

n/a Beiträge
 
#1

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 19:53
Hast Du KeyPreview vom Formular im Objektinspektor auf True gesetzt?
  Mit Zitat antworten Zitat
braucheHilfe

Registriert seit: 19. Jan 2017
9 Beiträge
 
#2

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 20:19
Hast Du KeyPreview vom Formular im Objektinspektor auf True gesetzt?
Also wenn das nicht automatisch auf True steht, dann nein.
Wo kann ich das ändern?
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 20:29
Wenn Du es nicht im Objektinsteptor ändern willst, dann musst Du das irgendwo im Quelltext machen. Geeignet wäre da wohl das FormCreate.

Sinnvollerweise solltest Du aber im Objektinspektor den Vorgabewert False auf True ändern.
  Mit Zitat antworten Zitat
braucheHilfe

Registriert seit: 19. Jan 2017
9 Beiträge
 
#4

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 20:45
Ich habe die KeyPreview jetzt auf True gesetzt und jetzt sieht der Code so aus:
Es tut sich aber trotzdem nichts wenn ich die Taste drücke
Angehängte Grafiken
Dateityp: png asdfghjkl.png (124,3 KB, 21x aufgerufen)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#5

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21:01
Nimm das KeyUp-Event und nicht das KeyDown:

Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 if Key = Ord(VK_UP) then
  begin
   Key := 0;
   ShowMessage('Hi');
  end;
end;
  Mit Zitat antworten Zitat
braucheHilfe

Registriert seit: 19. Jan 2017
9 Beiträge
 
#6

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21:49
Nimm das KeyUp-Event und nicht das KeyDown:

Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 if Key = Ord(VK_UP) then
  begin
   Key := 0;
   ShowMessage('Hi');
  end;
end;
Vielen dank, diese Variante funktioniert
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#7

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21:53
Vor wenigen Wochen gab es doch schon einmal so ein Thema hier mit genau demselben Problem.
Dabei ging es darum Shapes per Tastendruck zu verschieben. Leider finde ich das Thema nicht wieder.

KeyUp hat nämlich einen Nachteil... beim gedrückt-halten der Taste passiert bei dir nichts wenn du KeyUp verwendet. Denn es wird ja erst ausgelöst wenn der Key... losgelassen wird.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21:06
Ändere mal bitte die Routine FormKeyDown und füge am Anfang ein ShowMessage(IntToStr(key)); ein. Was wird beim Betätigen welcher Taste ausgegeben?
Wird die Meldung überhaupt angezeigt?
Kannst Du mal mit dem Debugger prüfen, ob die Routine überhaupt aufgerufen wird?
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#9

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21:33
Ich glaube KeyDown wird nie aufgerufen wenn irgendein anderes Control außer dem Formular den Focus hat.
Habe es eben schnell getestet und so gesehen, dass man besser KeyUp nimmt statt KeyDown.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.394 Beiträge
 
Delphi 12 Athens
 
#10

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21:38
Und wenn jemand das mit KeyPreview immer wieder überliest, dann kann man auch nicht viel helfen.
Aber vorallem wurde ständig das mit dem zugewiesenen Event vergessen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (19. Jan 2017 um 21:47 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:09 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-2025 by Thomas Breitkreuz