Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Auf Pfeiltasten reagieren (https://www.delphipraxis.net/12940-auf-pfeiltasten-reagieren.html)

nahpets 19. Jan 2017 19:53

AW: Auf Pfeiltasten reagieren
 
Hast Du KeyPreview vom Formular im Objektinspektor auf True gesetzt?

a.def 19. Jan 2017 19:58

AW: Auf Pfeiltasten reagieren
 
Ich glaube eher er hat alles blind abgeschrieben und hat nun tote, nicht funktionierende Fake-Events in seinem Code.

braucheHilfe 19. Jan 2017 20:19

AW: Auf Pfeiltasten reagieren
 
Zitat:

Zitat von nahpets (Beitrag 1359295)
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?

juergen 19. Jan 2017 20:21

AW: Auf Pfeiltasten reagieren
 
Ich denke auch dass die OnKeyDown-Zuweisung fehlt.
Einfach "Form1" markieren, dann im Objektinspektor unter dem Reiter "Ereignisse" einen beherzten Doppelklick in die leere Zeile bei "OnKeyDown". Dann sollte das Event zugewiesen sein.
"KeyPreview" muss auch auf True stehen.

nahpets 19. Jan 2017 20:29

AW: Auf Pfeiltasten reagieren
 
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.

braucheHilfe 19. Jan 2017 20:45

AW: Auf Pfeiltasten reagieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
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 :(

a.def 19. Jan 2017 21:01

AW: Auf Pfeiltasten reagieren
 
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;

nahpets 19. Jan 2017 21:06

AW: Auf Pfeiltasten reagieren
 
Ändere mal bitte die Routine FormKeyDown und füge am Anfang ein
Delphi-Quellcode:
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?

a.def 19. Jan 2017 21:33

AW: Auf Pfeiltasten reagieren
 
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.

himitsu 19. Jan 2017 21:38

AW: Auf Pfeiltasten reagieren
 
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. :zwinker:


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

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