Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Virtual Key Codes


jackie05 - Do 23.03.06 07:25
Titel: Virtual Key Codes
Hi,

hat jemand eine Complete Liste mit den ganzen Key codes? Ich finde nähmlich keine Codes für , ; . : _ - ' # ä ö ü + * ~ | > < .


azubi_20 - Do 23.03.06 07:54

Vk-Codes für diese Sonderzeichen gibt es meiner Meinung nicht. Aber die Funktion Chr(IntValue : Integer ) : AnsiChar; sollte dir weiterhelfen.


jackie05 - Do 23.03.06 07:59

ich danke dir, aber wie soll ich das machen?
ich möchte wenn mein Programm läuft und ich auf Komma drücke, dann soll etwas passieren
das bei FormKeyDown auslösst, ich danke dir schonmal 8)


jakobwenzel - Do 23.03.06 08:38


Delphi-Quelltext
1:
if Chr(Key)=',' then ...                    


jackie05 - Do 23.03.06 08:43

genau das habe ich gemacht, aber nur die sonderzeichen gehen net mit Chr(Key), gibt es vieleicht noch eine andere lösung?


chrisw - Do 23.03.06 09:03

entweder


Delphi-Quelltext
1:
if key = 188// rausgekriegt mit showmessage(inttostr(key));                    


oder

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
function GetCharFromVKey(vkey: Word): string;
var
  keystate: TKeyboardState;
  retcode: Integer;
begin
  Win32Check(GetKeyboardState(keystate));
  SetLength(Result, 2);
  retcode := ToAscii(vkey,
    MapVirtualKey(vkey, 0),
    keystate, @Result[1],
    0);
  case retcode of
    0: Result := ''// no character
    1: SetLength(Result, 1);
    2:;
    else
      Result := ''// retcode < 0 indicates a dead key
  end;
end;

....

if GetCharFromVKey(key) = ',' then ....