[MFC] Enter나 ESC키 입력시 자동으로 창 종료되는 문제
MFC로 다이알로그를 만들었을 때 엔터키나 ESC키를 누르면 창이 바로 종료되는
현상이 있다.
사실은 OnOk()와 OnCancel()이 기본 버튼으로 설정되어있어서 그런 것이다.
아래와 같은 코드를 사용하면 사용을 무효화 할 수 있다.
BOOL 다이얼로그클래스::PreTranslateMessage(MSG* pMsg)
{
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
if( pMsg->message == WM_KEYDOWN )
{
if( pMsg->wParam == VK_ESCAPE || VK_RETURN )
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
{
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
if( pMsg->message == WM_KEYDOWN )
{
if( pMsg->wParam == VK_ESCAPE || VK_RETURN )
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
출처 : 데브피아 권보균(tomess)님의 답변글