Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Tastendruck (https://www.delphipraxis.net/7781-tastendruck.html)

bixi400 21. Aug 2003 11:57


Tastendruck
 
Ich habe in der Hilfe nachgeschaut,
wenn ich abfragen will ob die Taste "<" gedrückt
ist muss ich irgentwo Key_Less eingeben.

Aber wo???
Könnt ihr mir helfen?

Tyrael Y. 21. Aug 2003 12:06

Re: Tastendruck
 
ähm, könntest du näher beschreiben was dein Problem ist ?

Gruß Tyrael

neolithos 21. Aug 2003 12:07

Re: Tastendruck
 
Taste für Cursor oder Zeichen?

Da muss man im Formular ein Ereignis erstellen

OnKeyPress
OnKeyDown
oder
OnKeyUp

je nach dem was man machen möchte...

Illuminator-23-5 21. Aug 2003 12:10

Re: Tastendruck
 
es könnte auch mit TKeyBoardState und GetKeyBoardState gehen

Tyrael Y. 21. Aug 2003 12:13

Re: Tastendruck
 
... kommt halt drauf an was er vor hat... aber er sagt ja nix :roll:

bixi400 23. Aug 2003 10:44

Re: Tastendruck
 
Ich Brauche wenn man
die Taste drück das es im MemoFeld nicht
z.B. "<" Schreibt sondern "&lt;" (HTML).

Matze 23. Aug 2003 11:02

Re: Tastendruck
 
Code:
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if VK_... then ...;
end;

bixi400 23. Aug 2003 11:08

Re: Tastendruck
 
Mache ich ja Funktioniert aber nicht! :cry:

In der Hilfe Steht:

Delphi-Quellcode:
Key_Less     =   Taste Kleiner als (<)
Aber Wenn ich eingebe:

Delphi-Quellcode:
if Key=VK_Less then ...
Dann kommt die Fehler meldung:

Undefinierter bezeichner: VK_Less...

Matze 23. Aug 2003 11:13

Re: Tastendruck
 
Mach doch mal zum Test das hier:

Code:
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if VK_... then Memo1.Color:=clyellow;
end;
Wenn das memo dann gelb wird, dann weißt du, ob du bei vk_... das richtige eingegeben hast.
Ich weiß nicht, welche Abkürzung die Taste "<" hat.

bixi400 23. Aug 2003 11:20

Re: Tastendruck
 
Delphi-Quellcode:
if KEY=VK_RETURN ...
Funktioniert schon! :wink:

Aber das, das in der
Hlfe steht Funktioniert nciht! :cry:

Matze 23. Aug 2003 11:24

Re: Tastendruck
 
Dann mach's so:

Code:
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 226 then memo1.Color:=clyellow;
  //für die <-Taste
end;
Gruß Matze

bixi400 23. Aug 2003 12:05

Re: Tastendruck
 
Danke Matze!

Assarbad 23. Aug 2003 20:09

Re: Tastendruck
 
Hier scheint wohl eher das Problem zu sein, daß irgendeine Unit nicht eingebunden wurde. Von der Benutzung von Literalen statt Konstanten kann man nur abraten. Das versteht ihr, sobald ihr große Projekte erarbeitet.

Christian Seehase 23. Aug 2003 20:27

Re: Tastendruck
 
Moin bixi,

in welcher Hilfe steht denn, dass < durch die Konstante key_less bzw. VK_LESS repräsentiert wird?

Gemäss PSDK wird 226 (E2 hex) als Konstante VK_OEM_102 deklariert. Zu finden in der WinUser.h.
Dieser Wert gilt als Konstante für die Taste < >.

Zumindest in D5 ist diese Konstante allerdings nicht deklariert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 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