안녕하세요..
FormKeyDown 이벤트에서 ESC키가..안먹히네요..
Form 프라퍼티에서 keyfreeView에는 당근 True로 주구요.. 그리고.. 취소 버튼에도 Cancel = True로 주었습니다...
뭐가 문제일까요..
-------------------------------------
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Case Key of
VK_F2 :
BtnCloseClick(Sender); // F2를 누르면 종료를 한다.
VK_ESCAPE :
BtnEscClick(Sender); // ESC키를 누르면 화면 취소를 한다..
end;
end;
-------------------------------------
이렇게 했는데..디버그를 해보니까.. ESC키를 눌렀을때.. F2값은 키로 인식을 하던데.. ESC키는 인식을 못하더라구요.. 왜그럴까요.. 디버깅도. 안되고..
질문이 많이 횡설수설하네요..
답변 부탁드립니다..
저는 아직 초보라서 정확은 답변은 드릴수가 없지만...어제 저도 같은 경우로
ESC키를 누르면 바로 폼이 종료되게 할려고 했었거든요...
근데 ESC키가 않먹히는 겁니다... 이유를 알고보니...폼이 생성될때...포커스
가 컴포넌트에 가있었기 때문이었습니다...그래서...폼에선 ESC키가 먹히지
않았던 것입니다...그부분을 잘 봐보세요...포커스가 컴포넌트에 가있다면...그
컴포넌트의 키다운 이벤트가 발생하지 폼에 키다운 이벤트가 발생하진 않으니
깐요... 그럼 포커스를 폼으로 날린뒤에 하시면 되겠죠? 허접생각이었습니다.^^