编译以下来源from here时出现此错误:
错误1错误C2440:'static_cast': 无法转换'UINT(__ thiscall CStaticLink :: *)(CPoint)'到'LRESULT (__thiscall CWnd :: * )(CPoint)'e:\ development \ tooltips \ cqa0311 \ statlink.cpp 28
代码行用于
下面的ON_WM_NCHITTESTBEGIN_MESSAGE_MAP(CStaticLink, CStatic)
ON_WM_NCHITTEST()
ON_WM_CTLCOLOR_REFLECT()
ON_WM_LBUTTONUP()
ON_WM_SETCURSOR()
END_MESSAGE_MAP()
我不确定我需要做什么MFC伏都教来编译它。我运气不好吗?我想这是用一些不同版本的MFC构建的?我正在使用VS2008。
(我想按照该网页上的描述为我的菜单项提供工具提示。)
答案 0 :(得分:5)
来自here:
感谢您的报告。我调查并发现这个更改是在MFC for Visual Studio 2005中设计的。这引入了源不兼容性,因此您需要更新OnNcHitTest方法以返回LRESULT而不是UINT。
帕特布伦纳 Visual C ++库开发
现在OnNcHitTest应声明如下:
afx_msg LRESULT OnNcHitTest(
CPoint point
);