消息产生后,消息与具体窗口相关的,MFC就维护了一个句柄和C++类指针的映射,通过句柄就能找到对应C++类对象的指针。
找到指针后,就将它传递给基类,在基类中调用CWnd::windowprogc()处理,该函数又调用CWnd::OnWndMsg()进行处理,根据消息种类查找消息映射,主要通过头文件当中的消息响应函数的声明:
//{{AFX_MSG(CDrawView)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);//函数声明
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
和源文件当中的消息映射:
BEGIN_MESSAGE_MAP(CDrawView, CView)
//{{AFX_MSG_MAP(CDrawView)
ON_WM_LBUTTONDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
最终找到了我们的消息响应函数,由消息响应函数对我们的消息进行响应。