Hi,
ich habe jetzt die letzen beiden Version probiert, leider ohne Erfolg. Es kommt kein Zeichen (ALT, STRG, etc.) in das Editfeld.
Delphi-Quellcode:
//Version 1
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
Buffer: array [0..255] of Char;
begin
If GetKeyNameText(16, @Buffer[0], SizeOf(Buffer)) > 0 then Edit1.Text:=Buffer;
end;
//Version 2
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
p: PChar;
begin
p:=StrAlloc(150);
If GetKeyNameText(16, p, 150)) > 0 then Edit1.Text:=StrPas(p);
end;
Nur bei folgender Version bekomme ich die Namen in das Editfeld mit dem Problem das es doppelt hinein geschrieben wird:
Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
TempShortCut: TShortCut;
begin
TempShortCut:=ShortCut(Key, Shift);
EditHotkey.Text:=ShortCutToText(TempShortCut);
end;
Weis jemand wo die Fehler liegen?
Gruß
Mazel