动态插入层叠菜单

以下内容为程序代码:

CMenu popMenu;
popMenu.CreatePopupMenu();

// append menu item
popMenu.AppendMenu(MF_BYCOMMAND, ID_1, _T("Pop-up Item 1"));
// ID_1是菜单ID值,这里是我假定的值,你可以自己设置,一下ID都一样

popMenu.AppendMenu(MF_BYCOMMAND, ID_2, _T("Pop-up Item 2"));
popMenu.AppendMenu(MF_BYCOMMAND, ID_3, _T("Pop-up Item 3"));
// append other menu items.
// ..............

MENUITEMINFO miif;    // for pop-up menu item info
ZeroMemory(miif, sizeof(miif));  // set miif memory to zero
miif.cbSize = sizeof(MENUITEMINFO);  // necessary
miif.fMask = MIIM_TYPE | MIIM_STATE | MIIM_STRING | MIIM_SUBITEM;
miif.fType = MFT_STRING;  // Displays the menu item using a text string
miif.fState = MFS_ENABLED;  // default
miif.dwTypeData = _T("Pop-up menu item");  // content of Pop-up menu item
miif.hSubMenu = HMENU(popMenu);   // get handle of pop-up menu

if (miif.hSubMenu != NULL)
{
    // presume pMenu that it is a point to menu which you want to insert
    // pop-up menu item in
    pMenu->InsertMenuItem(ID_POPUP_MENU, &miif, FALSE);
    // ID_POPUP_MENU也是我假定的ID值
}



MENUITEMINFO包含了菜单项信息,此结构功能很强,可以设置很多复杂的菜单效果,详见MSDN。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值