AW: Auf Pfeiltasten reagieren
Hast Du KeyPreview vom Formular im Objektinspektor auf True gesetzt?
|
AW: Auf Pfeiltasten reagieren
Ich glaube eher er hat alles blind abgeschrieben und hat nun tote, nicht funktionierende Fake-Events in seinem Code.
|
AW: Auf Pfeiltasten reagieren
Zitat:
Wo kann ich das ändern? |
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. |
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. |
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 :( |
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; |
AW: Auf Pfeiltasten reagieren
Ändere mal bitte die Routine FormKeyDown und füge am Anfang ein
Delphi-Quellcode:
ein. Was wird beim Betätigen welcher Taste ausgegeben?
ShowMessage(IntToStr(key));
Wird die Meldung überhaupt angezeigt? Kannst Du mal mit dem Debugger prüfen, ob die Routine überhaupt aufgerufen wird? |
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. |
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. |
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