The MessageMap
消息映射
When the user presses the left mouse button in a view window, Windows sends a message—specifically WM_LBUTTONDOWN—to that window. If your program needs to take action in responseto WM_LBUTTONDOWN, your view class must have a member function that looks likethis:
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
// event processing code here
}
Your class header filemust also have the corresponding prototype:
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
Theafx_msgnotation is a "no-op" that alerts you that this is a prototype for amessage map function. Next, your code file needs a message map macro thatconnects yourOnLButtonDown function to the application framework:
BEGIN_MESSAGE_MAP(CMyView, CView)
ON_WM_LBUTTONDOWN() // entry specifically for OnLButtonDown
// other message map entries
END_MESSAGE_MAP()
Finally, your classheader file needs the statement
DECLARE_MESSAGE_MAP()
You can manually code the message-handling functions—indeed, that is still necessary for certain messages. Fortunately, Visual C++ provides a tool, ClassWizard, that automa tes the coding of most message map functions.