본문 바로가기
C & C++/C & C++

[Tip] ESC 로 종료 안되게

by izen8 2011. 4. 25.
반응형
////////////////////////////////////////////////////////////////////////////////////////////
// 6.0 적용

만약 ESC키를 눌렀을때 종료가 되는게 불편하다면 다음을 권한다.

Classwizard의 MessageMap 탭에서 밑의 그림과 같이 Message에서 PreTranslateMessage를 추가해준다. 

 

그리고 아래 처럼 코딩 고고고!!

BOOL CMy3DHistogramDlg::PreTranslateMessage(MSG* pMsg)
{
 if(pMsg->message == WM_KEYDOWN){
  if(pMsg->wParam == VK_ESCAPE) return TRUE; 
  if(pMsg->wParam == VK_RETURN) return TRUE;
 }
 return CDialog::PreTranslateMessage(pMsg);
}

//////////////////////////////////////////////////////////////////////////////////////////
// 2008  적용

1. 원하는 다이얼로그에서 재정의를 클릭

2. PreTranslateMessage를 재정의한다고 하고

3. 원하는 메시지를 먹어버리면 됨... 여기서는 엔터키를 그냥 삼켰음.

BOOL CSocketTestDlg::PreTranslateMessage(MSG* pMsg)
{
    // TODO: Add your specialized code here and/or call the base class

    
    if(pMsg->message == WM_KEYDOWN){
        // 엔터키가 눌렸다면
        if(pMsg->wParam == VK_RETURN ){
            return TRUE;
        }
    }

    return CDialog::PreTranslateMessage(pMsg);
}

반응형

'C & C++ > C & C++' 카테고리의 다른 글

CString 변수값 숫자여부 판별  (0) 2011.04.27
CFileDialog(파일 선택,저장,파일명,경로 읽기)  (0) 2011.04.26
[API] 윈도우 관련 함수와 메시지  (0) 2011.04.25
API 대화상자  (0) 2011.04.25
[API] 리소스 사용  (0) 2011.04.25

댓글