![]() |
VirtualKeys to Char
gibt es eine Funktion mit der ich aus den Parameter eines OnKeyDown (Key und Shiftstate) den dazugehörigen char rausfinde.
Ich kann leider nicht die OnKeyPress Funktion verwenden. |
Re: VirtualKeys to Char
|
Re: VirtualKeys to Char
Schlag mal die Win32 Funktion MapVirtualKey nach.
|
Re: VirtualKeys to Char
Nein, sind nicht nur alphanumnerische Zeichen sonder auch Sonderzeichen.
macht MapVirtualKey nicht was anderes (Scan Code to Virtual Code) ich brauche aber VirtualCode to Char oder ? |
Re: VirtualKeys to Char
VK_ fuer ASCII-Zeichen sind die ASCII-Zeichen selbst.
|
Re: VirtualKeys to Char
Zitat:
Ich kann natürlich alles selbst abfragen und abfangen, nur dachte ich mir, da gibt es sicher eine Funktion, der ich einen VK_Key oder Scan Key, den aktuellen Shift Status gebe und ich dann das Zeichen bekomme, das es darstellen soll. |
Re: VirtualKeys to Char
Wenn du z. B. Pos1 drueckst, so gibt es dafuer nur den VK_ Code. Einen Char gibt es dazu nicht.
Falls du die Beschriftung der Taste meinst, so ist diese ueber GetKeyNameText erhaeltlich. |
Re: VirtualKeys to Char
hmm, ich möchte die selben Parameter wie die im OnKeyPress Event.
d.h. wenn ich Shift + A -> "A" bei A -> "a" bei Numpad * -> "*" bei Shift + Numpad * -> "*" bei + -> "+" bei Shift + "+" -> "*" wenn sonstige nicht ASCII Tasten gedrückt werden, dann möchte ich #0 zurückbekommen (oder sonst was, was nicht anzeigbar ist) ... habe gerade die Funktion toAscii gefunden, laut API Hilfe sieht die so aus als ob die das macht, was ich möchte, mal schaun ob's funktioniert. |
Re: VirtualKeys to Char
Juhu, funktioniert .....
Falls mal wer sowas ähnliches braucht .....
Delphi-Quellcode:
var tempC : array [1..2] of Char;
keystate : TKeyboardState; begin GetKeyboardState(keystate); if ToAscii(Key, MapVirtualKey(key, 0), keyState, @tempC[1], 0) > 0 then begin Edit3.Text := Edit3.Text + tempC[1]; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:12 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