错误C2440:'static_cast':无法从'UINT(__ thiscall CImportProjectDlg :: *)(CPoint)'转换为'LRESULT(__thiscall CWnd :: *)(CPoint)'

时间:2017-02-24 15:32:00

标签: visual-c++ upgrade

我正在将VC ++ 6.0项目转换为Visual Studio 2008(从2014年开始)。我遇到了上述错误。

这是我的代码段:

BEGIN_MESSAGE_MAP(CImportProjectDlg, CDialog)
//{{AFX_MSG_MAP(CImportProjectDlg)
ON_WM_SIZE()
ON_WM_GETMINMAXINFO()
ON_WM_SIZING()
ON_WM_PAINT()
ON_WM_NCHITTEST()
ON_BN_CLICKED(IDC_MERGE_IN, OnAdd)
ON_BN_CLICKED(IDC_MERGE_OUT, OnRemove)
ON_BN_CLICKED(IDC_IMPORTPROJECT_CLEARALL, OnClearAll)
ON_BN_CLICKED(IDC_IMPORTPROJECT_APPLY, OnApply)
ON_BN_CLICKED(IDCANCEL,OnCancel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

错误显示在ON_WM_NCHITTEST()行上。

非常令人费解。

1 个答案:

答案 0 :(得分:2)

OnNcHitTest处理程序的正确签名是afx_msg LRESULT OnNcHitTest(CPoint);。您可以返回UINT而不是LRESULT