Programming Microsoft vc++学习(1)

来源:互联网 发布:淘宝联盟社区找淘宝客 编辑:程序博客网 时间:2024/05/12 00:25

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. 


原创粉丝点击