프로그래밍/MFC (C++)
MFC ] 엔터, ESC 키 입력시 종료되지 않게하기
eteo
2023. 9. 15. 23:06
엔터키 입력 시 종료되지 않게하기
OnOK 함수 재정의
OnOK() 호출 주석처리
void CRwrTesterDlg::OnOK()
{
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
//CDialogEx::OnOK();
}
ESC 키 입력 시 종료되지 않게하기
OnCancel() 함수를 재정의해서 주석처리하면 Alt+F4가 눌리거나 다이얼로그의 X버튼이 눌린 경우에도 종료되지 않기 때문에 다른방법을 쓴다.
PreTranslateMessage(MSG* pMsg) 함수 재정의
해당함수는 키보드 및 마우스 메시지를 번역하고 처리하기 전에 호출되는데 ESC키 입력시 바로 리턴하여 어플리케이션이 종료되지 않도록 한다.
BOOL CRwrTesterDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
if (pMsg->message == WM_KEYDOWN)
{
if (pMsg->wParam == VK_ESCAPE)
{
return TRUE;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}