CMenu::DeleteMenu 是 MFC(Microsoft Foundation Classes)中的 CMenu 类的一个公共方法,用于删除菜单中的指定菜单项或子菜单。以下是 DeleteMenu 方法的声明:
BOOL DeleteMenu(
   _In_ UINT nPosition,
   _In_ UINT nFlags
);

  •  nPosition:指定要删除的菜单项的位置或标识符。可以是位置(MF_BYPOSITION)或菜单项的命令标识符。

  •  nFlags:删除菜单项的标志,可以是以下值之一:

  - MF_BYCOMMAND:按命令标识符删除菜单项。
  - MF_BYPOSITION:按位置删除菜单项。

该方法返回一个 BOOL 类型的值,表示删除菜单项是否成功。

示例:
CMenu myMenu;
myMenu.CreatePopupMenu();  // 创建一个弹出菜单

// 在菜单中追加一组菜单项
myMenu.AppendMenu(MF_STRING, ID_MENU_ITEM1, _T("Item 1"));
myMenu.AppendMenu(MF_STRING, ID_MENU_ITEM2, _T("Item 2"));
myMenu.AppendMenu(MF_STRING, ID_MENU_ITEM3, _T("Item 3"));

// 删除菜单中的第二个菜单项
if (myMenu.DeleteMenu(1, MF_BYPOSITION)) {
    // 删除成功,可以使用 myMenu 对象进行其他操作...
} else {
    // 删除失败,处理错误...
}

在这个示例中,首先创建了一个弹出菜单 myMenu,然后在菜单中追加了一组菜单项。接着使用 DeleteMenu 方法按位置删除了第二个菜单项。如果删除成功,就可以继续使用 myMenu 对象进行其他操作。如果删除失败,需要根据具体情况进行错误处理。


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