CDialog 클래스를 상속받아 만들어진 윈도우는 Enter와 ESC 키에 윈도우가 닫히는 특징이 있습니다. 이런 현상을 방지하려면 가상 함수인 PreTranslateMessage 함수에 WM_KEYDOWN 메시지를 검사해서 누른 키가 Enter나 ESC면 처리하지 않고 반환하게 하면 됩니다.
BOOL TestDlg::PreTranslateMessage( MSG* pMsg ) { if( pMsg->message == WM_KEYDOWN && (pMsg -> wParam == VK_RETURN || pMsg -> wParam == VK_ESCAPE) ) { pMsg->wParam = NULL; } return CDialog::PreTranslateMessage( pMsg ); }
'MFC > 기타' 카테고리의 다른 글
[MFC] GetModuleFileName 이용하여 현재 실행 경로 얻기 (0) | 2016.03.16 |
---|---|
MFC 모달리스 창 띄워져 있나 확인하는 방법 (0) | 2013.12.01 |