![]() |
Pfeil-Cursor-Taste finden
Hi,
Ich versuche den Ablauf eines Programmes mit den Tastaturtasten zu steuern. Mit den "einfachen Tasten" ist dies auch kein Problem. Mein Source für die einfachen Tasten: Procedure TFormX.FormKeyDown(Sender:Tobject; var Key:Word; Shift:TShiftState); ... Taste:=ord(Key); ... //Anzeige als Label LabelX.Caption:=Inttostr(Taste); Aber: von den Pfeil-Tasten kommt keine Antwort! Danke für Hinweise! Gerhard |
Re: Pfeil-Cursor-Taste finden
Moin Gerhard,
erst einmal herzlich willkommen in der Delphi-PRAXiS. Die Pfeiltasten sind i.d.R. von Windows zur Navigation reserviert, z.B. bei Buttons. Nur Controls, z.B. Edit, die diese Tasten benötigen heben diese Reservierung auf. Deshalb kann man mit den Pfeiltasten von einem Button zum Edit gelangen, aber nicht umgekehrt. Such' hier am Besten mal nach ![]() ![]() Für Dich käme wohl, statt DLGC_WANTTAB, DLGC_WANTARROWS in Frage. |
Re: Pfeil-Cursor-Taste finden
Wäre es nicht auch einfach möglich, statt der OnKeyDown-Methode die OnKeyPress-Methode zu nehmen und dort abzufragen, ob VK_UP, VK_DOWN, VK_LEFT oder VK_RIGHT gedrückt wurde?
So kann man die doch am einfachsten abfangen wenn ich mich nicht irre und es hier um was anderes geht... :? MfG Lefko. |
Re: Pfeil-Cursor-Taste finden
|
Re: Pfeil-Cursor-Taste finden
Moin Hansa,
das Problem ist nur, dass das mit den Pfeiltasten nicht bei jedem Control funktioniert ;-) |
Re: Pfeil-Cursor-Taste finden
:bouncing4: Hallo was ist mit meinem Vorschlag?
|
Re: Pfeil-Cursor-Taste finden
Moin Lefko,
hast Du's schon mal ausprobiert? Damit geht's auch nicht, ausser das Control, das den Focus hat fordert, wie z.B. ein TEdit, die Tasten an. |
Re: Pfeil-Cursor-Taste finden
Zitat:
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if key = vk_up then showmessage(inttostr(ord(key))); end; |
Re: Pfeil-Cursor-Taste finden
Moin Niko,
dann leg' mal einen Button auf das Formular. |
Re: Pfeil-Cursor-Taste finden
Hm, naja, also ich würd das alles über FormX.OnKeyPress machen und daher die Eigenschaft der FormX "KeyPreview" auf "true" setzen.... wüsste nicht, warum das nicht gehen sollte :gruebel:
Über Sender kann man ja auch rausfinden, bei welcher Komponente eine Taste gedrückt wurde, wenn ich mich nicht irre :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:20 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