《C++笔记》 Part12MFC的CToolbar中嵌入ComboBox和EditCtrl

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_24206709/article/details/80823736

《C++笔记》 Part12 MFC的CToolbar中嵌入ComboBox和EditCtrl

1、CodeProject项目链接

2、由VC6升级到VS2010(其它高版本VS也一样)中时遇到的问题
ON_NOTIFY的NMTOOLBAR老是提示错误:
error C2440: “static_cast” : 无法从“void (__thiscall CMainFrame::* ) (NMTOOLBARA ,LRESUyiyLT )”转换为“void (__thiscall CCmdTarget::* ) (NMHDR ,LRESULT )”

3、错误解决方法:

 void CMainFrame::OnToolbarDropDown(NMTOOLBAR* pnmtb, LRESULT *plr) 

把他改成:

void CMainFrame::OnToolbarDropDown(NMHDR* pnmhdr, LRESULT *plr)

在函数实现里加上强制转换

LPNMTOOLBAR pnmtb = reinterpret_cast<LPNMTOOLBAR>(pnmhdr);


**

1、该程序是针对CToolbar而言的,一般针对普通的对话框或多文档程序的toolbar;
2、对向CMFCToolbar加入ComoBox和EditCtrl需要使用其它的方法(具体方法见下篇),因为CMFCToolbar继承于CMFCBaseToolBar,而CMFCBaseToolBar继承于CPane,与CToolBar**继承的父类完全不同**。

**

猜你喜欢

转载自blog.csdn.net/sinat_24206709/article/details/80823736