vc 对话框修改菜单栏的背景颜色

如果想不重载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);

你可能感兴趣的:(vc++)