Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Pfeil-Cursor-Taste finden (https://www.delphipraxis.net/19303-pfeil-cursor-taste-finden.html)

Gerhard 31. Mär 2004 21:31


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

Christian Seehase 31. Mär 2004 21:40

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 Hier im Forum suchenWM_GETDLGCODE und/oder Hier im Forum suchenDLGC_WANTTAB da müsstest Du ein paar Beispiele finden, wie Du die reservierten Tasten abfangen kannst.
Für Dich käme wohl, statt DLGC_WANTTAB, DLGC_WANTARROWS in Frage.

Lefko 31. Mär 2004 22:46

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.

Hansa 1. Apr 2004 06:24

Re: Pfeil-Cursor-Taste finden
 
hier steht so ziemlich alles drin :

http://www.delphipraxis.net/internal...unktionstasten

Christian Seehase 1. Apr 2004 22:41

Re: Pfeil-Cursor-Taste finden
 
Moin Hansa,

das Problem ist nur, dass das mit den Pfeiltasten nicht bei jedem Control funktioniert ;-)

Lefko 2. Apr 2004 08:08

Re: Pfeil-Cursor-Taste finden
 
:bouncing4: Hallo was ist mit meinem Vorschlag?

Christian Seehase 2. Apr 2004 17:34

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.

Niko 2. Apr 2004 18:31

Re: Pfeil-Cursor-Taste finden
 
Zitat:

Zitat von Christian Seehase
Damit geht's auch nicht, ausser das Control, das den Focus hat fordert, wie z.B. ein TEdit, die Tasten an.

:gruebel: Also bei mir funktioniert das (in OnKeyDown)...
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_up then showmessage(inttostr(ord(key)));
end;

Christian Seehase 2. Apr 2004 18:34

Re: Pfeil-Cursor-Taste finden
 
Moin Niko,

dann leg' mal einen Button auf das Formular.

Lefko 2. Apr 2004 18:40

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:00 Uhr.
Seite 1 von 2  1 2      

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