#include \"MFCTestApp.h\"
CMFCTestApp g_app;
BOOL CMFCTestApp::InitInstance()
{
m_pMainWnd = new CMainFrameWnd;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
BEGIN_MESSAGE_MAP(CMainFrameWnd, CFrameWnd)
ON_WM_CREATE()
ON_MESSAGE(WM_MYMESSAGE, CMainFrameWnd::OnMyMessage)
END_MESSAGE_MAP()
CMainFrameWnd::CMainFrameWnd()
{
Create(NULL, \"MFCTestApp\");
}
int CMainFrameWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
MessageBox(\"MFCTestApp is created\");
PostMessage(WM_MYMESSAGE, NULL, NULL);
return 0;
}
LRESULT CMainFrameWnd::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
MessageBox(\"OnMyMessage is called\");
return 0;
}
OnMyMessage가 호출이 되버리네;;
어떻게 메시지 큐에 메시지가 들어가지도 않는데 호출이 되는거임???
메시지 큐에 들어가는 메시지는 WM_PAINT, WM_QUIT, 마우스/키보드 메시지, WM_TIMER만 들어가는거 아녀??
이건 그냥 자동으로 들어가는 메시지라는건가..?
SendMessage는 블록 시켜서 메시지 큐에 안넣고 처리하고 리턴하지만
PostMessage는 그냥 메시지 큐에 메시지만 집어넣잖아.. 근데 메시지 큐에 들어가는 메시지는 위에 5가지
그래서 헷갈린건데 생각해보니 위에 5가지 메시지는 자동으로 메시지 큐에 들어가는 메시지라는거 같음.....
그럼 뭐 또 있나..?
뭔소리냐..? 메시지 큐란건 거의 대부분의 메시지가 다 들어갈텐데?
spy++ 이라는 툴이 비쥬얼 스튜디오에 있을건데, 그걸로 어떤 메시지가 들어오는지 확인해봐.