안녕하세요..
고민도 해보고 질답란도 찾아봤는데 똑 떨어지는 답이 안나와서요..^^
KeyDown 이벤트에서 키가 눌려졌을 경우 Key값을 TEdit.Text에 넣어 주고 싶은데
일반적인 문자의 경우에는..
Edit.Text := Chr(Key);
로 하면 문자열이 입력되는데..
F1 ~ F12 키라든지 Ins, Del 키등은 위와 같은 소스에는 다른 문자로 시현되더라구요..
단순히..
if Key = 112 then Edit.Text := 'F1'
else if Key = 113 then Edit.Text := 'F2'
............
else if Key = 45 then Edit.Text := 'Ins';
와 같이 단순 비교하지 않고 일률적으로 변환하여 키값을 에디트에 넘겨줄 수 있는 방법은 없는지요?
아니면 깔끔한 예제 소스라도 부탁드립니다..
감사합니다..
아래와 같이 해보세요...
<!--CodeS-->
uses
......, Menus;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
Edit2.Text := ShortCutToText( ShortCut(Key, Shift) );
end;
<!--CodeE-->
뭐.. 위와같이 해도.. 내부적으로는 님처럼 합니다...
^^ 항상 즐코하세요...