티스토리 뷰

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

한번쯤 시도 해볼만한 방법

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 넘쳐서 죽는다. 주의 하도록... (어떻게 아냐구? 나도 해봤으니께...)
}

이상.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함