一个从VC6.0转成VC2010代码的消息错误。
有一个VC6.0开发的程序,转成2010后,出现了一些错误。
错误语句
ON_COMMAND(IDD_MHOW, OnMHOWMessage)
错误信息:
error C2440: “static_cast”: 无法从“void (__thiscall CEITOFApp::* )(WPARAM,LPARAM)”转换为“AFX_PMSG”
1> 在匹配目标类型的范围内没有具有该名称的函数
error C2440: “static_cast”: 无法从“LRESULT (__thiscall CEITOFApp::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
1> 在匹配目标类型的范围内没有具有该名称的函数
我该怎么修改呢? vc2010??消息?on ON_COMMAND???
[解决办法]
ON_COMMAND(IDD_MHOW, &CXXX::OnMHOWMessage)
[解决办法]
语法要求严格了,而且一些函数定义也改变了,象上面的错误你把函数类型void改成LRESULT
[解决办法]
h里面
AFX_PMSG LRESULT OnMHOWMessage(WPARAM, LPARAM);
cpp里面
LRESULT CEITOFApp:OnMHOWMessage(WPARAM, LPARAM)
{
。。。
return 0;
}