상세 컨텐츠

본문 제목

MFC에서 키보드 제어를 해야 할 경우 (PreTranslateMessage 이용)

청강컴정/MFC

by luckey 2009. 8. 3. 10:23

본문

복잡한 이벤트 처리에 대해서 골치 아파하기 전에

한번쯤 시도 해볼만한 방법

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

관련글 더보기

댓글 영역