void CMainFrame::ChangeMenu()
{
CMenu* mmenu = GetMenu();
int pos = FindMenuItem(mmenu, "File"); //找到需要修改的菜单:“file”菜单
if (pos == -1)
return; CMenu* submenu = mmenu->GetSubMenu(pos);
pos = FindMenuItem(submenu, "Open");//寻找一个菜单项“Open”,在它之后添加我的item
if (pos > -1)
submenu->InsertMenu(pos + 1, MF_BYPOSITION,ID_CLOSEFILE, "MyMenuItemName");
}int CMainFrame::FindMenuItem(CMenu *Menu, LPCTSTR MenuString)
{
ASSERT(Menu);
ASSERT(::IsMenu(Menu->GetSafeHmenu()));
int count = Menu->GetMenuItemCount();
for (int i = 0; i < count; i++)
{
CString str;
if (Menu->GetMenuString(i, str, MF_BYPOSITION) &&(strcmp(str, MenuString) == 0))
return i;
}
return -1;
}
为什么我不能为我的菜单动态添加菜单项呢?
它就是不出来,就是不出来,就是不出来请教~~
{
CMenu* mmenu = GetMenu();
int pos = FindMenuItem(mmenu, "File"); //找到需要修改的菜单:“file”菜单
if (pos == -1)
return; CMenu* submenu = mmenu->GetSubMenu(pos);
pos = FindMenuItem(submenu, "Open");//寻找一个菜单项“Open”,在它之后添加我的item
if (pos > -1)
submenu->InsertMenu(pos + 1, MF_BYPOSITION,ID_CLOSEFILE, "MyMenuItemName");
}int CMainFrame::FindMenuItem(CMenu *Menu, LPCTSTR MenuString)
{
ASSERT(Menu);
ASSERT(::IsMenu(Menu->GetSafeHmenu()));
int count = Menu->GetMenuItemCount();
for (int i = 0; i < count; i++)
{
CString str;
if (Menu->GetMenuString(i, str, MF_BYPOSITION) &&(strcmp(str, MenuString) == 0))
return i;
}
return -1;
}
为什么我不能为我的菜单动态添加菜单项呢?
它就是不出来,就是不出来,就是不出来请教~~
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货