菜单条背景颜色!

mahatma_cn 2004-10-25 10:48:26
怎么修改菜单条(不是菜单项)颜色或者用制定的图片自绘菜单条?
大家说说步骤原理或给出URL!

不会是用WM_NCPAINT吧?

谢谢,各位大虾、高手。
...全文
1157 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
九重霄 2005-01-12
  • 打赏
  • 举报
回复
WINVER 是怎么改的呀
majiquan 2004-11-02
  • 打赏
  • 举报
回复
请问搂主,你用的是vc6.0吗?我感觉不是!应为我在vc6.0下只能调sdk中的
BOOL SetMenuInfo(
HMENU hmenu, // handle to menu
LPCMENUINFO lpcmi // menu information
);
搞了半天,也没变!郁闷!!
KiGhost 2004-11-01
  • 打赏
  • 举报
回复
请问楼主...

我在MSDN里找不到 SetMenuInfo 这个函数呀。。

MENUINFO 也找不到。只找到 MENUITEMINFO
KyoUs 2004-10-26
  • 打赏
  • 举报
回复
学到东西了。。up~~
juak 2004-10-26
  • 打赏
  • 举报
回复
怎么我在 VC 6.0下 也不行呢
mahatma_cn 2004-10-26
  • 打赏
  • 举报
回复
MENUINFO memuinfo;
memuinfo.fMask=MIM_BACKGROUND;
memuinfo.hbrBack = ::CreateSolidBrush( RGB(233,1,1) );
CMenu* pMenu = GetMenu();
pMenu->SetMenuInfo( &memuinfo );
DrawMenuBar();
mahatma_cn 2004-10-26
  • 打赏
  • 举报
回复
没有变化是你没有准确初始化MENUINFO有关成员,请参考msdn SetMenuInfo()函数和MENUINFO
记得调用DrawMenuBar()(函数名有没有写错?)
mahatma_cn 2004-10-26
  • 打赏
  • 举报
回复
楼主在此!
houmingyang 2004-10-26
  • 打赏
  • 举报
回复
楼主呢

星羽 2004-10-26
  • 打赏
  • 举报
回复

呵呵 是 WINVER 的问题 :没错了
MENUINFO memuinfo;
memuinfo.hbrBack = ::CreateSolidBrush( RGB(233,1,1) );
CMenu* pMenu = GetMenu();
pMenu->SetMenuInfo( &memuinfo );

我把这段代码丢到

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{}
里 怎么运行后没变啊

高手指点咯
星羽 2004-10-26
  • 打赏
  • 举报
回复


还有你说的那个函数我用的
LPCMENUINFO lpcmemuinfo;
lpcmemuinfo->hbrBack = CBrush( RGB( 100,0,0 ) ).Detach();
CMenu* pMenu = GetMenu();
pMenu->SetMenuInfo( lpcmemuinfo );

有错哦:头文件是winuser.h把 包进去和没包进去都一样:

f:\VC-PROGRAM\MFC\E_Speaking_Client\MainFrm.cpp(83): error C3861: “lpcmemuinfo”: 即使使用参数相关的查找,也未找到标识符
f:\VC-PROGRAM\MFC\E_Speaking_Client\MainFrm.cpp(83): error C2039: “SetMenuInfo” : 不是“CMenu”的成员
f:\VC-PROGRAM\MFC\E_Speaking_Client\MainFrm.cpp(80): error C2065: “lpcmemuinfo” : 未声明的标识符
f:\VC-PROGRAM\MFC\E_Speaking_Client\MainFrm.cpp(80): error C2065: “LPCMENUINFO” : 未声明的标识符
f:\VC-PROGRAM\MFC\E_Speaking_Client\MainFrm.cpp(80): error C2146: 语法错误 : 缺少“;”(在标识符“lpcmemuinfo”的前面)
f:\VC-PROGRAM\MFC\E_Speaking_Client\MainFrm.cpp(81): error C2227: “->hbrBack”的左侧必须指向类/结构/联合
f:\VC-PROGRAM\MFC\E_Speaking_Client\MainFrm.cpp(81): error C3861: “lpcmemuinfo”: 即使使用参数相关的查找,也未找到标识符
星羽 2004-10-26
  • 打赏
  • 举报
回复
给我点分啊 是了顺便问问 mahatma_cn(喝茶不忘采茶人) ( ) 信誉:96

如何改边 ToolBar 的颜色 和他的按扭的颜色啊
mahatma_cn 2004-10-25
  • 打赏
  • 举报
回复
如果没有人进来的话,分就全部给 kpld8888(kpld),不过, kpld8888(kpld)都已经五角了
mahatma_cn 2004-10-25
  • 打赏
  • 举报
回复
自己找到了,
BOOL SetMenuInfo(
HMENU hmenu, // handle to menu
LPCMENUINFO lpcmi // menu information
);
设置MENUINFO结构中的hbrBack成员就可以改变菜单背景色。
mahatma_cn 2004-10-25
  • 打赏
  • 举报
回复
to kpld8888(kpld):
我都看了,不符合我的要求,你给的这些都是自绘菜单,我要的是自绘菜单条,就是标题栏下、工具条上面那一整条。
kpld8888 2004-10-25
  • 打赏
  • 举报
回复
http://www.ddvip.net/program/vc/index2/26.htm
http://www.vchelp.net/wyy/paper/odmenu.htm

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧