|
Hello .
I want to make two "Recent file" menu as "Recent project file" and "Rcent source file", Please help me how to do.
BOOL CPHEzApp::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) { // TODO: Add your specialized code here and/or call the base class UINT nMsg = 0; int nCod = nCode; WORD m_nMenuPrjId = ID_PROJECT_RECENT; WORD m_nMenuId1 = ID_FILE_RECENT; WORD MRU_RANGE = 4;
if (nCod != CN_UPDATE_COMMAND_UI) { nMsg = HIWORD(nCod); nCod = LOWORD(nCod); }
if (nMsg == 0) nMsg = WM_COMMAND;
if ((nCod==CN_UPDATE_COMMAND_UI) && (nID>=m_nMenuPrjId) && (nID<=m_nMenuPrjId+MRU_RANGE)) { BOOL bResult = TRUE; // default is ok ASSERT(pExtra != NULL); CCmdUI* pCmdUI = (CCmdUI*)pExtra; ASSERT(!pCmdUI->m_bContinueRouting); // idle - not set UpdateRecentProjectMenu(pCmdUI); bResult = !pCmdUI->m_bContinueRouting; pCmdUI->m_bContinueRouting = FALSE; // go back to idle return bResult; }
if ((nCod==CN_UPDATE_COMMAND_UI) && (nID>=m_nMenuId1) && (nID<=m_nMenuId1+MRU_RANGE)) { BOOL bResult = TRUE; // default is ok ASSERT(pExtra != NULL); CCmdUI* pCmdUI = (CCmdUI*)pExtra; ASSERT(!pCmdUI->m_bContinueRouting); // idle - not set UpdateRecentEctMenu(pCmdUI); bResult = !pCmdUI->m_bContinueRouting; pCmdUI->m_bContinueRouting = FALSE; // go back to idle return bResult; }
if ((nMsg==WM_COMMAND) && (nCod==CN_COMMAND) && (nID>=m_nMenuPrjId) && (nID<=m_nMenuPrjId+MRU_RANGE)) {
return OpenRecentProject(nID); }
if ((nMsg==WM_COMMAND) && (nCod==CN_COMMAND) && (nID>=m_nMenuId1) && (nID<=m_nMenuId1+MRU_RANGE)) {
return OpenEctRecentFile(nID); }
return CWinApp::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo); }
CCmdUI* pCmdUI = (CCmdUI*)pExtra; ==> menu value is returned always NULL. Is no there solvable method?
------------- jini
|