|
출장중에 짬내서 답변하고 있습니다...^^*
사용빌더 버전,
기본 콤포넌트외 추가로 사용한 콤포넌트 목록을 알려주시고
해당소스를 보내주실 수 있으신지요(DB는 포함하지 않으셔도 됩니다).
밤에 시간나면 원인을 찾아 볼께요.
보내주신 소스는 타 용도로 사용하거나 유포하지 않겠습니다.
e-mail: sage5nor@chol.com
------------------------------------
작은 생각이 세상을 바꾼다 - 정성훈.해미-
------------------------------------
이성희 님이 쓰신 글 :
: 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;
: : : : : }
: : : : : }
: : : : : //---------------------------------------------------------------------------
|