<!--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 의 키번호를 다시 정상적으로 인식하게 할수 있는 명령어.. 또는 방법이
있는지요??
KeyPress에서 하세요
숫자 7은 ascii 코드가 55인데...
KeyDown에서는 버턴위치나 Num LK 상태 등에 따라 다르게 나오네요
KeyPress에서는 숫자 7은 항상 ascii 값 55로 나오구요