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
Seite 2 von 3     12 3      
nahpets
(Gast)

n/a Beiträge
 
#11

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 20:53
Hast Du KeyPreview vom Formular im Objektinspektor auf True gesetzt?
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#12

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 20:58
Ich glaube eher er hat alles blind abgeschrieben und hat nun tote, nicht funktionierende Fake-Events in seinem Code.
  Mit Zitat antworten Zitat
braucheHilfe

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

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21: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
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21:21
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.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)

Geändert von juergen (19. Jan 2017 um 21:38 Uhr) Grund: ich hatte OnClick stehen anstelle OnKeyDown
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#15

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21: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
 
#16

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 21: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
Miniaturansicht angehängter Grafiken
asdfghjkl.png  
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#17

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 22: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
nahpets
(Gast)

n/a Beiträge
 
#18

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 22: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
 
#19

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 22: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

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

AW: Auf Pfeiltasten reagieren

  Alt 19. Jan 2017, 22: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.
$2B or not $2B

Geändert von himitsu (19. Jan 2017 um 22:47 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 13:28 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