본문 바로가기

app/C

ESC키로부터 Dialog 사라짐을 방지

바로 전에 alt+F4 를 막앗엇는데..이번엔 ESC키다!!(이제 ctrl+alt+del 만 막으면 되는구나!!)

멤버 함수로
        BOOL m_bClose
 선언하고~

생성자에서 
        m_bClose = FALSE;
 초기화 해주고

위자드 클래스에서 OnClose 를 생성한 다음

void CKeyDlg::OnClose()
{
        m_bClose = TRUE;
        CDialog::OnClose();
}
 
이것도 위자드 클래스에서  WindowProc 를 생성해서 작성해주면 된다.

LRESULT CKeyDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
        if( message == WM_COMMAND && wParam == WM_DESTROY )
        {
                if( m_bClose == FALSE )
                        return NULL;
               
        }
        return CDialog::WindowProc(message, wParam, lParam);
}
 
dialog에서 esc 또는 close 버튼은  message - 111, wParam - 2 의 값이 날아오는데
return 값이 TRUE 이면 message - 2에 이어 message -82가 날아온답니다.

출처 : 데브피아

'app > C' 카테고리의 다른 글

milisecond 단위 시간계산  (0) 2009.07.17
AfxExtractSubString 사용법(토큰 분리)  (0) 2009.07.16
ALT+F4로 종료안되게 하려면?  (2) 2009.06.21
저번에 이어서~ 큐브 맟추기~  (0) 2009.06.16
C 헤더파일들 간단 정리!  (1) 2009.06.16