PreTranslateMessage() 함수 내부에 아래 처럼 입력하면 된다.
BOOL CTestDlg::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_KEYDOWN )
{
if( pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN )
{
/// 다른 컨트롤들이 메시지를 처리 할수 있도록 한다.
::DispatchMessage(pMsg);
::TranslateMessage(pMsg);
return TRUE;
}
}
return CWnd::PretranslateMessage(pMsg);
}
다이얼로그에서 키 입력시 비프음이 발생하는 것을 방지하기.
역시 PreTranslateMessage() 함수 내부에서 처리한다.
BOOL CTestDlg::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_CHAR)
{
if( pMsg->wParam == (방지할 가상 키값) )
{
return TRUE;
}
}
return CWnd::PretranslateMessage(pMsg);
}
- 2010/02/04 10:09
- Sprite.egloos.com/2767312
- 덧글수 : 0
- 2010/02/04 09:20
- Sprite.egloos.com/2767249
- 덧글수 : 0
MFC를 처음 접한것이 대학교 2학년때(2000년도)였나??(기억이...)
하튼 그때부터 근 10년간 다뤄보고 나름데로 쌓인 노하우를 정리하려한다.
첫 번째로...
데스크탑 윈도우 CDC포인터 얻는 방법.
HWND hWnd = ::GetDesktopWindow();
CDC *pDC = CDC::FromHandle( ::GetDC(hWnd) );
::ReleaseDC( (*pDC) );
또는
HWND hWnd = ::GetDesktopWindow();
CWnd *pWnd = CWnd::FromHandle( hWnd );
CDC *pDC = pWnd->GetWindowDC();
pWnd->ReleaseDC(pDC);
1



최근 덧글