Q&A

  • KeyDown이벤트에서 키값 변환..
안녕하세요..
고민도 해보고 질답란도 찾아봤는데 똑 떨어지는 답이 안나와서요..^^

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';

와 같이 단순 비교하지 않고 일률적으로 변환하여 키값을 에디트에 넘겨줄 수 있는 방법은 없는지요?

아니면 깔끔한 예제 소스라도 부탁드립니다..

감사합니다..
2  COMMENTS
  • Profile
    최용일 2005.05.30 20:57
    안녕하세요. 최용일입다.

    아래와 같이 해보세요...

    <!--CodeS-->

    uses
        ......, Menus;


    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    begin
        Edit2.Text := ShortCutToText( ShortCut(Key, Shift) );
    end;

    <!--CodeE-->

    뭐.. 위와같이 해도.. 내부적으로는 님처럼 합니다...

    ^^ 항상 즐코하세요...

  • Profile
    오명숙 2005.05.30 21:48