Win32 API, MFC RegisterWindowMessage
Windows CE 2014. 10. 27. 14:29MFC에서 RegisterWindowMessage를 사용하는 경우에는
보통 MainFrame의 cpp 파일에
static const UINT WM_MY_REG_MSG = RegisterWindowMessage( _T("My_Register_Window_Message") );
이런 식으로 메시지 ID를 선언하고 메시지를 등록시키고
보낼때는
PostMessage( HWND_BROADCAST, WM_MY_REG_MSG, wParam, lParam );
받고자 할때는
Message Map에
ON_REGISTERD_MESSAGE( WM_MY_REG_MSG, &CMainFrame::OnMyRegMsg );
이런 식으로 메시지 핸들러를 추가하고 아래와 같이 메시지를 처리할 함수를 구현하면 된다.
LRESULT CMainFrame::OnMyRegMsg( WPARAM wParam, LPARAM lParam )
{
//
}
Win32 API에서 RegisterWindowMessage를 사용하고자 할 경우에는 메시지 ID를 선언하고
statc UINT WM_MY_REG_MSG;
WinMain 함수내에서 메시지를 등록시키고
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
WM_MY_REG_MSG = RegisterWindowMessage( _T("My_Register_Window_Message") );
...
}
WinProc 함수내에서
switch문의 case로 처리하지 말고 switch문 이전이나 switch문의 default 부분에서 아래와 같이 처리하면 된다.
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch( message )
{
case : ...
default :
{
if( message == WM_MY_REG_MSG )
{
//
return 0;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
}
}
'Windows CE' 카테고리의 다른 글
Visual Studio 2008 & Windows Embedded Compact 7, not single step dubbuging (0) | 2014.03.26 |
---|