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

时间:2010-07-29 18:45:39

标签: c++ mfc tooltip

编译以下来源from here时出现此错误:

  

错误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()

我不确定我需要做什么MFC伏都教来编译它。我运气不好吗?我想这是用一些不同版本的MFC构建的?我正在使用VS2008。

(我想按照该网页上的描述为我的菜单项提供工具提示。)

1 个答案:

答案 0 :(得分:5)

来自here

  

感谢您的报告。我调查并发现这个更改是在MFC for Visual Studio 2005中设计的。这引入了源不兼容性,因此您需要更新OnNcHitTest方法以返回LRESULT而不是UINT。

     帕特布伦纳   Visual C ++库开发

现在OnNcHitTest应声明如下:

afx_msg LRESULT OnNcHitTest(
   CPoint point 
);