MFC消息映射的问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 05:52:32
在视类中响应鼠标左键按下消息,在消息响应函数中有这么一句话
CView::OnLButtonDown(nFlags, point);
通过调试好像根本就没有执行,并且尝试删除,效果没有任何不同,请问这是怎么回事?还有这种函数调用方式是什么方式调用啊,难道在CView中还存在一个OnLButtonDown这样的静态函数?
请高手指点,不胜感激!!!
我在CView的源文件里面查找,根本没有OnLButtonDown这个函数,不知道是怎么回事啊?

它是对WM_LBUTTONDOWN消息的响应,在view的头文件中有afx_msg OnLButtonDown这个函数,在view.cpp文件中有Implement_messagemap,它里面有OnCommand(Command_ID, WM_LbuttonDown, OnLButtonDown)来完成映射.
建议你看看书.
在CMyView.h文件中有这样的话:
protected:
//{{AFX_MSG(CSssView)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()

OnLButtonDown是对消息进行响应的,具体情况应该在消息处理里面吧
切换到ClassView视图,然后在view类名上右击,选择add windows message handle,然后就可以添加WM_LBUTTONDOWN消息了。

这是鼠标左键的消息相应函数。调试的时候你必须点击按钮程序才能运行到这里,不点击时不能运行到这里的,你可以在这里设个断点,再在程序初始化完成之后加个断点,当程序运行到这个断点即界面初始化完成后显示出界面,点击按钮程序就到CView::OnLButtonDown(nFlags, point);这个函数里了。