一、errorC2440:消息相应函数类型不能转化
- 问题描述
VS2017编译提示以下两个问题:
(1)errorC2440 “static_cast”: 无法从“UINT (__thiscall CSizingControlBar::* )(CPoint)”转换为“LRESULT (__thiscall CWnd::* )(CPoint)”
(2)errorC2440 “static_cast”: 无法从“LRESULT (__thiscall CTextProgressCtrl::* )(UINT,LPTSTR)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
(3)errorC2440 “static_cast”: 无法从“BOOL (__thiscall CCJPagerCtrl::* )(NMPGSCROLL *,LRESULT *)”转换为“BOOL (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)”
- 解决方法
- error(1)解决方法:
通过提示的消息找到相应的消息相应函数,本次出现的问题是CSizingControlBar::OnNcHitTest,由
afx_msg UINT OnNcHitTest(CPoint point); //VC6תVS2017-gxy-20181025
改成
afx_msg LRESULT OnNcHitTest(CPoint point); //VC6תVS2017-gxy-20181025
此外函数定义的地方也要由
UINT CS