Q&A

  • CheckListBox 의 Key 번호
<!--CodeS-->
procedure TFormMain.CheckListBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

  if Key = 104 then showmessage('키보드의 숫자패드 7번을 눌렀습니다');
  if Key = 99 then showmessage('키보드의 숫자패드 3번을 눌렀습니다');

end;
<!--CodeE-->


CheckListBox 의 Keydown 이벤트를 사용하여 키보드의 숫자패드등의 특정키를
누를때마다, 정해진 작업을 하도록 했습니다... 그리고 의도한대로 잘되고 있었는데..

다른 콤포넌트(별도 구매한것)와 궁합이 잘 안맞는 모양입니다.
그 콤포넌트를 사용하고 나면 항상 CheckListBox 의 Key 번호가 엉터리로 인식이
되어버립니다. 다시말해서 분명히 숫자패드 7번을 눌렀을때 Key 번호 104 로 인식이
되어야 하는데... 문제가 있어 확인을 해보면 모든 Key 번호가 229 로 인식이 되어버립니다.

따라서 위와 같이 키 번호를 구분하여 코딩한것이 작동을 하지 않고 있어, 프로그램을
종료후 다시 시작시켜 사용을 하고 있습니다만..
혹시.. CheckListBox 의 키번호를 다시 정상적으로 인식하게 할수 있는 명령어.. 또는 방법이
있는지요??
1  COMMENTS
  • Profile
    장성호 2008.02.13 03:12
    KeyDown 말고
    KeyPress에서 하세요

    숫자 7은  ascii 코드가  55인데...

    KeyDown에서는  버턴위치나 Num LK 상태 등에 따라 다르게 나오네요

    KeyPress에서는 숫자 7은 항상 ascii 값 55로 나오구요