VC6下面消息处理函数写成afx_msg void 函数名(WPARAM wParam, LPARAM lParam);是可以的。
但是在VS2010就一定要写成:
afx_msg LRESULT 函数名(WPARAM wParam, LPARAM lParam);
这样编译的时候就不会出现,无法类型转换或者 “static_cast”: 无法从“void (__thiscall CMainFrame::* )(void)”转换为“LRESULT
(__thiscall CWnd::* )(WPARAM,LPARAM)”的问题了。
原文来自:http://www.cloay.com/forum.php?mod=viewthread&tid=31&extra=page%3D1