从这里编译以下源代码时出现此错误:
错误1错误C2440:'static_cast':无法从'UINT(__thiscall CStaticLink ::*)(CPoint)'转换为'LRESULT(__ thiscall CWnd ::*)(CPoint)'e:\ development\tooltips\cqa0311\statlink. cpp 28
代码行用于下面的ON_WM_NCHITTEST
BEGIN_MESSAGE_MAP(CStaticLink, CStatic)
ON_WM_NCHITTEST()
ON_WM_CTLCOLOR_REFLECT()
ON_WM_LBUTTONUP()
ON_WM_SETCURSOR()
END_MESSAGE_MAP()
Run Code Online (Sandbox Code Playgroud)
我不确定我要做的是什么MFC伏都教来编译.我运气不好吗?我想这是用一些不同版本的MFC构建的?我正在使用VS2008.
(我想按照该网页上的说明为我的菜单项提供工具提示.)
从这里:
谢谢你的报道.我调查并发现此更改是在MFC for Visual Studio 2005中设计的.这引入了源不兼容性,因此您需要更新OnNcHitTest方法以返回LRESULT而不是UINT.
Pat Brenner
Visual C++库开发
现在OnNcHitTest应声明如下:
afx_msg LRESULT OnNcHitTest(
CPoint point
);
Run Code Online (Sandbox Code Playgroud)