在 MFC(Microsoft Foundation Classes)中,CMenu::InsertMenuItem 是 CMenu 类的一个公共方法,用于插入菜单项。

以下是该方法的基本信息:
BOOL InsertMenuItem(
   UINT uItem,
   LPCMENUITEMINFO lpMenuItemInfo,
   BOOL fByPosition = TRUE
);

参数说明:

  •  uItem: 要插入的菜单项的位置索引或标识符,取决于 fByPosition 参数。

  •  lpMenuItemInfo: 指向 MENUITEMINFO 结构的指针,该结构包含有关要插入的菜单项的信息。

  •  fByPosition: 一个布尔值,如果为 TRUE,则 uItem 参数表示菜单项的位置索引;如果为 FALSE,则 uItem 参数表示菜单项的标识符。


返回值:

  •  如果成功,则返回非零值;如果失败,则返回零。


示例用法:
CMenu menu;
menu.CreatePopupMenu(); // 创建一个弹出式菜单

MENUITEMINFO menuItemInfo;
memset(&menuItemInfo, 0, sizeof(MENUITEMINFO));
menuItemInfo.cbSize = sizeof(MENUITEMINFO);
menuItemInfo.fMask = MIIM_ID | MIIM_STRING;
menuItemInfo.wID = IDM_NEW;
menuItemInfo.dwTypeData = _T("New");

// 插入菜单项
BOOL result = menu.InsertMenuItem(0, &menuItemInfo);

if (result)
{
    // 插入菜单项成功
    // ...
}
else
{
    // 插入菜单项失败
    // ...
}

在上述示例中,首先通过 CreatePopupMenu 创建了一个弹出式菜单对象 menu。然后,定义了一个 MENUITEMINFO 结构,该结构包含有关要插入的菜单项的信息。最后,通过 InsertMenuItem 方法插入菜单项。实际使用时,你可以根据需要设置 MENUITEMINFO 结构的其他字段,以满足特定的菜单项需求。


转载请注明出处:http://www.pingtaimeng.com/article/detail/18987/MFC/CMenu