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
本文介绍了从VC6升级到VS2010时,消息处理函数签名的变化。为了确保兼容性并避免编译错误,需要将函数返回类型从void更改为LRESULT,并调整参数。
8489

被折叠的 条评论
为什么被折叠?



