error C2440:CMainFrame 无法从 NMTOOLBARA 转换为 NMHDR

来源:互联网 发布:裘德洛妻子知乎 编辑:程序博客网 时间:2024/04/27 14:43

作者:ImMcss 欢迎转载,请以超链接形式保留原文地址。

问题: 

将一个项目由vc6转到vc7下面,ON_NOTIFY的NMTOOLBAR老是提示错误  error C2440: “static_cast” : 无法从“void (__thiscall CMainFrame::* )(NMTOOLBARA *,LRESULT *)”转换为“void (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)”

解决方法:   

VC6下OnToolbarDropDown的函数原型: void CMainFrame::OnToolbarDropDown(NMTOOLBAR* pnmtb, LRESULT *plr) 把他改成: void CMainFrame::OnToolbarDropDown(NMHDR* pnmhdr, LRESULT *plr) {     LPNMTOOLBAR pnmtb = reinterpret_cast<LPNMTOOLBAR>(pnmhdr);     ... }  

原创粉丝点击