如何改变工具栏的背景色

ZiSheng 2008-07-14 12:35:20
我用了CtruecolorToolBar 这个类,添加的位图
//m_wndBitmapToolBar就是这个CtruecolorToolBar的对象
m_wndBitmapToolBar.LoadTrueColorToolBar(24,IDB_NORMAL,IDB_HOT,IDB_DISABLE);
我想创建一个类似IE的工具条,鼠标滑过的时候背景色稍微变亮一些,请问我应该怎么办?多谢!给个思路就行。

我现在是想在CtruecolorToolBar添加mousemove消息,但是如何改变背景色呢?wm_CTLcolor 还是wm_erasebakground
觉得都不行啊?
...全文
428 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZiSheng 2008-07-14
  • 打赏
  • 举报
回复
IDB_NORMAL IDB_HOT 是同一个BMP
yxz_lp 2008-07-14
  • 打赏
  • 举报
回复
不是改变ToolBar颜色而是改变TBUTTON的颜色,向ToolBar发送消息TB_SETCOLORSCHEME定制Highlight和Shadow颜色
ZiSheng 2008-07-14
  • 打赏
  • 举报
回复
up 等待大侠
ZiSheng 2008-07-14
  • 打赏
  • 举报
回复
lResult = SendMessage( // returns LRESULT in lResult
(HWND) hWndControl, // handle to destination control
(UINT) TB_SETCOLORSCHEME, // message ID
(WPARAM) wParam, // = 0; not used, must be zero
(LPARAM) lParam // = (LPARAM)
(LPCOLORSCHEME) lpcs; );
各位:你们的hWndControl用的是什么,你们可以得到各个工具栏按钮的窗口句柄吗,如何得到?不胜感激。
ZiSheng 2008-07-14
  • 打赏
  • 举报
回复
我郁闷啊
ZiSheng 2008-07-14
  • 打赏
  • 举报
回复
你们的效果都出来乐吗?
hex_maddog 2008-07-14
  • 打赏
  • 举报
回复
我也是出来的
SOMMERS 2008-07-14
  • 打赏
  • 举报
回复
我在设置的时候是出来啊
ZiSheng 2008-07-14
  • 打赏
  • 举报
回复
换为
::SendMessage(m_wndBitmapToolBar.m_hWnd, (UINT)TB_SETCOLORSCHEME, 0,(LPARAM)(LPCOLORSCHEME)&mycolorscheme);
似乎有了点效果,只有边界上边有颜色。
ZiSheng 2008-07-14
  • 打赏
  • 举报
回复

//是在mainframe 的oncreate函数里边
CToolBarCtrl &tool = m_wndToolBar.GetToolBarCtrl();
COLORSCHEME mycolorscheme;
mycolorscheme.clrBtnHighlight=RGB(50,100,50);
mycolorscheme.clrBtnShadow=RGB(80,20,200);
mycolorscheme.dwSize=sizeof(mycolorscheme);
::SendMessage(tool.m_hWnd, (UINT)TB_SETCOLORSCHEME, 0,(LPARAM)(LPCOLORSCHEME)&mycolorscheme);

//没有效果
fongzl 2008-07-14
  • 打赏
  • 举报
回复
没思路,因为工具栏只有两个图像
ZiSheng 2008-07-14
  • 打赏
  • 举报
回复
不是改变ToolBar颜色而是改变TBUTTON的颜色??那是不是不需要在onmousemove里边改变颜色,而是在
工具条创建之后给他发送这个消息,谢谢“平乐无忧”

15,979

社区成员

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

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