如何使用MFC工具提示的示例代码修复错误?

Tim*_*Tim 3 c++ mfc tooltip

从这里编译以下源代码时出现此错误:

错误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.

(我想按照该网页上的说明为我的菜单项提供工具提示.)

Kir*_*sky 5

这里:

谢谢你的报道.我调查并发现此更改是在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)