在CXXXApp::InitInstance()中添加代码,XXX代表你自己的程序了
BOOL CXXXApp::InitInstance()
{
......
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(
IDR_IMAGETYPE,
RUNTIME_CLASS(CImageDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CImageView));
AddDocTemplate(pDocTemplate);
// create main MDI Frame window
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
return FALSE;
m_pMainWnd = pMainFrame;
// 这些才是要添加的代码,别弄错了
// 初始化文档模板菜单
pDocTemplate->m_hMenuShared=pMainFrame->InitImageTypeMenu();
// 初始化主窗体菜单
pMainFrame->m_hMenuDefault=pMainFrame->InitMainFrameMenu();
// 更新,具体干什么没研究,反正不调用就出错了:)
pMainFrame->OnUpdateFrameMenu(pMainFrame->m_hMenuDefault);
// 要添加的代码到这结束
......
}
逆风编程精品
三、总结
说了这么多,也不知道大家看明白没有,没关系,先贴个图,大家看看效果再说了。
效果图一,使用图像索引表加载的小图标菜单

效果图一,工具条加载的大图标菜单

四、结束语
感谢querw和BCMenu的作者,没有他们的辛勤劳动,后人是没办法站在他们肩膀上的!由于程序写的匆忙,难免有不尽人意和错误的地方,欢迎大家任意修改源程序:)
要说这个菜单做的完美,那是吹牛,世界上哪有完美的东西啊 :) 只要自己觉得完美,就够了。 希望大家能从文章中学到点东西,就好。
本文章更多内容:<<上一页 - 1 - 2 - 3 - 4 - 5 |