|
使用VC驿站分享的CTrueColorToolBar类在VC++2010中编译出现"无法从“void (__thiscall CTrueColorToolBar::* )(NMTOOLBARA *,LRESULT *)”转换为“void (__thiscall CCmdTarget::*"的错误提示。
原 因:VC2010中不使用NMTOOLBAR,改用结构 NMHDR。
解决办法:1、将头文件afx_msg void OnToolbarDropDown(NMTOOLBAR* pnmh, LRESULT* plRes);中NMTOOLBAR改为NMHDR;
2、将CPP文件中该函数第一个参数同样更改;
3、将CPP文件中该函数中pnmtb->iItem,改为pnmtb->idFrom。
因为NMHDR结构定义:
typedef struct tagNMHDR {
HWND hwndFrom;
UINT_PTR idFrom;
UINT code;
} NMHDR
其中idFrom 是发送消息的控件的标识符。
这样编译通过,正常使用。
2020.11.11 |
评分
-
查看全部评分
上一篇: 修复被破坏的 vs 工程设置下一篇: python核心编程--笔记1
|