달력

10

« 2017/10 »

  • 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
  •  
  •  
  •  
  •  
다이얼로그에서 Alt + F4나 기타 키들로 인해서 창이 닫히지 않게 하기 위해서 다음과 같이 PreTranslateMessage()에서 처리하면된다.
물론 헤더에다가 virtual BOOL PreTranslateMessage(MSG* pMsg); 를 포함해주고 ㅋ

BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg)
{	
	//ALT + F4 방지
	if(pMsg->message == WM_SYSKEYDOWN)
	{
		if(pMsg->wParam == VK_F4)
			return TRUE;
	}

	if(pMsg->message == WM_KEYDOWN)
	{
		if(pMsg->wParam == VK_ESCAPE  || 
			pMsg->wParam == VK_RETURN ||
			pMsg->wParam == VK_SPACE  ||
			pMsg->wParam == VK_CANCEL)		//CTRL + PAUSE 방지
			return TRUE;		
	}

	return CDialog::PreTranslateMessage(pMsg);
}


그런데 F1은 어떻게 해야 안먹히지??-_-;;
알고보니 메인 cpp안에 있는 이벤트 핸들러 하나 지우면 된다. ㅋ

ON_COMMAND(ID_HELP, CWinApp::OnHelp)
신고
Posted by Jethro JethroY


티스토리 툴바