想做一个像vc一样的recent files and recent projects,使用第二级子菜单实现。
我的做法是:
#if 0
m_pRecentFileList->UpdateMenu(pCmdUI);
#else
CMenu* pMenu = pCmdUI->m_pMenu;
int n = pMenu->GetMenuItemCount();
CMenu* pFileMenu = pMenu->GetSubMenu(n - 4); //n - 4 recent files index
if (pFileMenu != NULL)
{
CCmdUI cmdUI = *pCmdUI;
cmdUI.m_pMenu = pFileMenu;
cmdUI.m_nIndex = 0;
m_pRecentFileList->UpdateMenu(&cmdUI);
}
#endif其中:
if 0 为标准做法,但不是第二级子菜单实现。我的做法能够正确显示recent files,但是单击的时候无法响应事件--打开文档,但是mfc已经做了消息映射,应该是可以的不知道怎么回事,做过的能不能指教一下,折腾两个小时了,现在02:00??