CMenu改变菜单背景色,添加图标

本文详细介绍了在C++程序中使用WTL8.0创建弹出菜单、配置菜单样式、添加背景颜色、设置菜单图标及实现菜单项的背景与高亮效果的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
.h文件中:
CMenu mMenuConfig;
CBrush  mMenuBrush;

if (!mMenuConfig.m_hMenu)
	{
		mMenuConfig.CreatePopupMenu();
		mMenuConfig.AppendMenu(MF_STRING,ID_MENU_MORE_CONFIG, _T("设置"));
		mMenuConfig.AppendMenu(MF_STRING,ID_MENU_MORE_UPGRADE, _T("更新"));
		mMenuConfig.AppendMenu(MF_STRING,ID_MENU_MORE_ABOUT, _T("关于"));

		mMenuBrush.CreateSolidBrush(RGB(240,240,0));//RGB(255,128,128));
		MENUINFO mi;
		mi.cbSize=sizeof(MENUINFO);
		mi.fMask=MIM_BACKGROUND;
		mi.hbrBack=(HBRUSH)mMenuBrush;
		SetMenuInfo((HMENU)(mMenuConfig.m_hMenu),&mi);

 		CBitmap bmp;
    bmp.LoadBitmap(IDB_BITMAP_CONFIG);//IDB_BITMAP_CONFIG为导入工程中的bmp图片的id;
		mMenuConfig.SetMenuItemBitmaps(ID_MENU_MORE_CONFIG, MF_BYCOMMAND, bmp, bmp);//此处常态和高亮显示为一样;
		bmp.Detach();//必须Detach,否则图标不显示		
    DeleteObject(mMenuBrush);
   }


(WTL8.0,MFC中类似)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值