CMenu::RemoveMenu 是 MFC(Microsoft Foundation Classes)中 CMenu 类的一个公共方法,用于移除指定菜单项或子菜单。

以下是该方法的一般语法:
BOOL RemoveMenu(UINT nPosition, UINT nFlags);

参数说明:
  •  nPosition:要移除的菜单项或子菜单的位置标识。可以是菜单项的相对位置(从0开始计数),也可以是标志位 MF_BYPOSITION 或 MF_BYCOMMAND 加上菜单项或子菜单的 ID。

  •  nFlags:指定标志位,可以是以下值之一:

  - MF_BYCOMMAND:nPosition 是菜单项或子菜单的 ID。
  - MF_BYPOSITION:nPosition 是菜单项或子菜单的相对位置。

返回值:
  •  如果成功移除菜单项或子菜单,则返回非零;否则,返回零。


示例:
CMenu myMenu;
myMenu.LoadMenu(IDR_MYMENU);

// 移除位置为 1 的菜单项(相对位置,从0开始计数)
myMenu.RemoveMenu(1, MF_BYPOSITION);

// 或者,移除 ID 为 IDM_MENU_ITEM 的菜单项
myMenu.RemoveMenu(IDM_MENU_ITEM, MF_BYCOMMAND);

这个方法允许你在运行时动态地修改菜单,移除不需要的菜单项或子菜单。


转载请注明出处:http://www.zyzy.cn/article/detail/18961/MFC/CMenu