복잡한 이벤트 처리에 대해서 골치 아파하기 전에
한번쯤 시도 해볼만한 방법
PreTranslateMessage 를 이용하는 방법
우선, 헤더 파일에 아래의 라인을 넣는다.
BOOL PreTranslateMessage(MSG* pMsg);
소스 파일에는 다음의 소스를 응용해서 원하는 이벤트 처리를 구현한다.
BOOL CUninstDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN) // 이벤트 종류는 많으므로 알아서...
{
if (pMsg->wParam == VK_ESCAPE)
{
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
// 웹에는 여기에 자신의 Class 를 넣도록 되어 있는 경우가 일부 보이는데,
// 미치지 않고서야 Recursive 가 되도록 할 이유가 있는가?
// Stack 넘쳐서 죽는다. 주의 하도록... (어떻게 아냐구? 나도 해봤으니께...)
}
이상.
출처 :
http://coinz.tistory.com/398
댓글 영역