![]() |
Ereignis, das beim Druck auf Richtungstasten reagiert
Hallo,
Ich suche nach einem Ereignis, dass ausgelöst wird, wenn der Nutzer auf eine der Richtungstasten drückt (links / rechts / oben / unten). Ich habe ein Frame implementiert und würde gern noch ne Tastatursteuerung dazu entwerfen; dazu brauch ich aber so ein Ereignis. Und das Standart-OnKeyDown-Event wird bei mir nicht ausgelöst, wenn ich auf eine dieser Tasten drücke. Genauso wenig leider die Message WM_KEYDOWN. Weiß jemand Rat? Ogridi |
Re: Ereignis, das beim Druck auf Richtungstasten reagiert
aus der Delphi-Hilfe (onKeyDown -> Siehe auch -> Die Verarbeitungsreihenfolge...) zu Delphi7:
Zitat:
|
Re: Ereignis, das beim Druck auf Richtungstasten reagiert
Hallo.
Wenn man dem Verweis auf KeyPreview folgt, dann erfährt man folgendes: Zitat:
Grüße vom marabu |
Re: Ereignis, das beim Druck auf Richtungstasten reagiert
Hallo,
Vielleicht läßt sich Dein Problem mit Actions lösen. Lege eine Actionlist auf das Frame, füge vier Actions hinzu und trage in die Eigenschaft ShortCut der Actions jeweils eine der Richtungstasten ein. In der Behandlungsroutine OnExecute der Actions kannst Du nun die gewünschte Reaktion auf das Drücken der Richtungstasten programmieren. Wenn Du das Frame im Formular benutzt, wirst Du feststellen, daß die Richtungstasten immer von der ActionList abgefangen werden. Um dies temporär abzuschalten, setzt Du die Eigenschaft State der Actionlist vorübergehend auf den Wert asSuspended. Gruß Hawkeye |
Re: Ereignis, das beim Druck auf Richtungstasten reagiert
Danke erstmal für die zahlreichen Antworten. Leider komm ich damit aber noch nicht viel weiter :( .
Zitat:
Zitat:
Zitat:
Ich verstehe auch nicht so wirklich, weshalb die Richtungstasten nicht als normale Tasten gelten. Sie verändern doch den Fokus gar nicht. Und genügend Steuerelemente (z.B. EditBox, ListBox, ScrollBar etc.) implementieren doch auch Funktionen dafür! |
Re: Ereignis, das beim Druck auf Richtungstasten reagiert
Zitat:
Gruß Hawkeye |
Re: Ereignis, das beim Druck auf Richtungstasten reagiert
Ich hab grade noch den Tip gekriegt, dass es eine WM_GETDLGCODE - Message gibt. Mit deren Rückgabewert kann man steuern, welche 'Spezial'-Tastaturereignisse an das Control weitergegeben werden.
Also nochmal für alle, die evtl. irgendwann mal mein Problem teilen:
Delphi-Quellcode:
Wie gesagt, trotzdem vielen Dank für all die Vorschläge! Ist ja auf alle Fälle schonmal schön, dass sich jemand um einen kümmert ;).
procedure GetDlgCode(var Message : TMessage); message WM_GETDLGCODE;
... procedure TFrame.GetDlgCode(var Message : TMessage); begin Message.Result := DLGC_WANTARROWS; end; @Hawkeye219: In meinem deutschsprachigen Delphi 5 geht das leider nicht; da muss ich mich für einen der Listeneinträge entscheiden... |
Re: Ereignis, das beim Druck auf Richtungstasten reagiert
Die deutsche Version von D5 enthält eine fehlerhafte Unit Consts. Die Literale sind "Nach oben", "Nach unten", "Rechts" und "Left". Wenn ich mich recht erinnere habe ich die Unit damals korrigiert und neu übersetzt.
Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:50 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