|
Buile All 해봐도 여전히 ESC키는 먹통이네요
다른키는 잘 실행되는데 ESC키만 실행이 않되네요!!
부족한 사람에게 조언해 주시느라 고생이 많으세요 ^^
그런데 잘 않되서 너무 속상하네요
답변 감사했습니다.
수고하세요
정성훈.해미 님이 쓰신 글 :
: [경우 1]: 코드 수정후 Make나 Run을 실행했을 경우.
: Make(Ctrl+F9) 나 Run(F9)을 할때와 Build를 할때는 조금 다릅니다.
: 코드 수정후 Make나 Run을 실행할 경우 수정한 부분이 적용되지 않거나 이상동작을 할 때가 있습니다.
: 이것은 disk format시 퀵포멧으로하냐 풀포멧으로하냐의 차이입니다.
:
: >>Project메뉴의 Build를 실행해서 다시 확인해보세요.
:
:
: [경우 2]: Form의 KeyPreview가 false로 된 경우
: Form의 KeyPreview가 true로 되어 있으면 폼 내부의 모든 콤포넌트에서 발생하는 키 이벤트를 폼에서 인식합니다.
: false로 되어 있으면 해당 콤포넌트에서만 키이벤트가 발생하고 폼에서는 발생하지 않습니다.
:
: >>오브젝트 인스펙터에서 Form의 KeyPreview가 true로 해보세요.
:
: [참고]
: 다음의 코드를 작성해서 실행시켜 보니 잘 동작합니다.
:
: void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
: TShiftState Shift)
: {
: switch(Key)
: {
: case VK_RETURN:
: ShowMessage("Enter");
: break;
: case VK_ESCAPE:
: ShowMessage("ESC");
: break;
: }
: }
:
: >>그리고 용도로 보아 KeyDown 이벤트보다는 KeyPerss이벤트를 이용하는 것이 좋을듯합니다.
:
:
: 도움이 되셨기를 바랍니다.
:
: ---------------------------------------
: 작은 생각이 세상을 바꾼다 - 정성훈.해미 -
: ---------------------------------------
:
: 이성희 님이 쓰신 글 :
: : 정성훈.해미 님 답변감사합니다.
: : 제가 출장갔다오느라 미쳐 확인하지 못했습니다.
: : 그냥 일반적으로 키이벤트에선 아무 문제가 없습니다.
: : 그런제 제가 질문한 부분에서는 switch문 자체로 이동이 안된다는 것입니다.
: : 디버깅할때 다른키는 누르는 반응을 하는데 ESC키는 엉뚱한 에러 메세지를 보여주거나
: : 아무런 동작도 하지 않습니다.
: : 제가 답답해서
: : case VK_ESCAPE:
: : ShowMessage("tttttttt");
: : break;
: : 이렇게해봤는데요 메세지 보여주지 않고 아무런 동작도 하지 않습니다.
: : 지금 제가 그리드 상태에서 ESC키가 제대로 동작하지 않는 Form이 여러개가 갑자기 발생해서
: : 너무 답답하네요 기초가 부족하단 느낌이 너무 많이 와닿고 있습니다.
: : 혹시 빌더 버그라도 있는건지 답답하네요
: :
: :
: : 정성훈.해미 님이 쓰신 글 :
: : : 테스트해보니 ESC 키를 눌렀을때 해당 케이스문으로 넘어가네요.
: : : 아마
: : : case VK_ESCAPE:
: : : 다음에 나오는 함수들이 원하는 결과값을 보여주지 않은듯합니다.
: : : 확인해보세요.
: : :
: : :
: : :
: : : 이성희 님이 쓰신 글 :
: : : : 이상하게도 그리드에서 ESC키가 작동하지 않아서 좀 답답하네요
: : : : 아무리봐도 뭐가 문제인지 잘 모르겠네요
: : : : 아래 제가 코딩한 부분을 올려드립니다.
: : : : 보시고 문제가 있으면 알려주세요!!
: : : :
: : : : 제가 디버깅도 해봤는데 이상하게 다른키는 이부분에서 디버깅 모드로 전화되는데
: : : : ESC키는 작동을 않하더라구요
: : : : 여러 고수님들의 많은 조언 부탁드립니다.
: : : : 그럼 무더운 여름 건강조심하세요
: : : :
: : : : void __fastcall TProcessForm2::DBGrid2KeyDown(TObject *Sender, WORD &Key,
: : : : TShiftState Shift)
: : : : {
: : : : switch(Key)
: : : : {
: : : : case VK_RETURN:
: : : : DBGrid1DblClick(Sender);
: : : : switch(check)
: : : : {
: : : : case 2:
: : : : InsSetup(Sender);
: : : : Code->SetFocus();
: : : : break;
: : : : case 3:
: : : : DelDB1(Sender);
: : : : break;
: : : : }
: : : : break;
: : : : case VK_ESCAPE:
: : : : EditClear(Sender);
: : : : EditSetup(Sender);
: : : : DBGrid1->SetFocus();
: : : : break;
: : : : }
: : : : }
: : : : //---------------------------------------------------------------------------
|