如果想不重载cmenu类,可以使用api中的setmenuinfo
具体步骤
在类中声明cbrush 对象,我的为m_brush;
然后在改变背景颜色的代码中添加如下代码
::MENUINFO lpcmi;
m_brush.CreateSolidBrush(RGB(255,0,0));
memset(&lpcmi,0,sizeof(::LPCMENUINFO));
lpcmi.cbSize=sizeof(MENUINFO);
lpcmi.fMask= MIM_BACKGROUND;
lpcmi.hbrBack=(HBRUSH)m_brush.operator HBRUSH();
::SetMenuInfo(GetMenu()->m_hMenu,&lpcmi);
本文详细介绍了如何在C++程序中使用API函数setmenuinfo来更改菜单项的背景颜色,通过创建cbrush对象并设置相关参数实现颜色的改变。
3万+

被折叠的 条评论
为什么被折叠?



