如何动态隐藏/显示菜单项?

starg 2003-09-15 12:54:44
如何动态隐藏/显示菜单项?请高手帮忙!
...全文
255 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
starg 2003-09-20
  • 打赏
  • 举报
回复
多谢,我的目的是动态隐藏/显示,当要“隐藏”时将其删除,要“显示”时将其添加,但如何保证添加到原来的位置上?,请再赐教!
flyelf 2003-09-20
  • 打赏
  • 举报
回复
CMenu cMenu;
VERIFY(cMenu.LoadMenu(IDR_XXX)); // 载入菜单
CMenu *pcSubMenu = cMenu.GetSubMenu(0); // 得到第一个子菜单
ASSERT(pcSubMenu != NULL);
pcSubMenu->DeleteMenu(0, MF_BYPOSITION); // 删除菜单中的第一个菜单项
pcSubMenu->DeleteMenu(ID_XXX, MF_BYCOMMAND); // 删除菜单中id为ID_XXX的菜单项
pcSubMenu->AppendMenu(MF_STRING, ID_XXX, "ITEM"); // 在菜单中加入一个id为ID_XXX的菜单项
pcSubMenu->AppendMenu(MF_SEPARATOR); // 在菜单中加入分割符号
flinming 2003-09-20
  • 打赏
  • 举报
回复
CMenu *pAddinMenu,*pTopMenu;
pTopMenu = AfxGetMainWnd()->GetMenu();
CString aa;
pAddinMenu = pTopMenu->GetSubMenu(1);//从左边菜单开始UD从0开始
if(pAddinMenu->CheckMenuItem(ID_MENUITEM32775,MF_CHECKED)==MF_CHECKED)
AfxMessageBox("check");
else
AfxMessageBox("no check");
pAddinMenu->GetMenuString(ID_MENUITEM32775,aa,0);
pAddinMenu->CheckMenuItem(MF_CHECKED,MF_CHECKED);
pAddinMenu->DeleteMenu(2,MF_BYPOSITION);
pAddinMenu->InsertMenu(2,MF_BYPOSITION,ID_MENUITEM32775,"修改");
紫郢剑侠 2003-09-20
  • 打赏
  • 举报
回复
到MSDN看看
starg 2003-09-20
  • 打赏
  • 举报
回复
这一对函数具体如何使用?删除增加一个菜单项,他对应的消息处理代码如何处理?请说的详细些,能给个实例更好。多谢!!!
shootingstars 2003-09-16
  • 打赏
  • 举报
回复
BOOL DeleteMenu(
HMENU hMenu, // handle to menu
UINT uPosition, // menu item identifier or position
UINT uFlags // option
);
BOOL AppendMenu(
HMENU hMenu, // handle to menu
UINT uFlags, // menu-item options
UINT_PTR uIDNewItem, // identifier, menu, or submenu
LPCTSTR lpNewItem // menu-item content
);
Kernel_Don 2003-09-16
  • 打赏
  • 举报
回复
SetMenu(&menu)

SetMenu(NULL)

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧