> Неужели Мелкософт ничего не предусмотрели в этом плане?
в твое App классе, например CMdiTestApp делаешь такие изменения:
1) в класе добавь afx_msg void OnFileNew();
2) в MESSAGE_MAP - e измени
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
на
ON_COMMAND(ID_FILE_NEW, OnFileNew)
3) ну и собственно сама ф-ия OnFileNew, можешь проверить
void CMdiTestApp::OnFileNew()
{
CWinApp::OnFileNew();
CMainFrame* pMain = (CMainFrame *)::AfxGetMainWnd();
// или
// CMainFrame* pMain = (CMainFrame *)m_pMainWnd;
CMenu* menu = pMain->GetMenu();
CMenu* submn= menu->GetSubMenu(4);
UINT nCount = menu->GetMenuItemCount();
CString str;
for (UINT i = 0; i < nCount; i ++)
menu->GetMenuString(i, str, MF_BYPOSITION);
}
---
только не стоит так пугаться собственных мессаг. я много таких трюков делал, до сих пор никаких проблем не было. а иногда они просто незаменимы.
|