- UID
- 11102
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-10-11
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在VC6下写的程序移植到VC7下,在VC7下编译,对于从CACUIDIALOG派生出来的对话框对下一段代码总提示出错
BEGIN_MESSAGE_MAP(CCreatProjDlg, CAcUiDialog)
//{{AFX_MSG_MAP(CCreatProjDlg) Needed for modeless dialog.
ON_BN_CLICKED(IDC_BROWSE, OnBrowse)
ON_MESSAGE(WM_ACAD_KEEPFOCUS, OnAcadKeepFocus)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
错误提示如下:e:\2004\RutManager\CreatProjDlg.cpp(24): error C2440: “static_cast” : 无法从“LONG (__thiscall CCreatProjDlg::* )(UINT,UINT)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
实际上就是指OnAcadKeepFocus函数的参数和返回值不匹配,
OnAcadKeepFocus函数声明和实现如下
afx_msg LONG OnAcadKeepFocus(UINT, UINT);
LONG CCreatProjDlg::OnAcadKeepFocus(UINT, UINT)
{
return TRUE;
}
上面的代码都是以前在VC6中用ARX工具自动生成的,
有点莫名其妙,不知大家是否碰到过这个问题 |
|