我想让MFC (CMFCToolBar
)中的工具栏透明,就像默认外观的CMFCMenuBar
一样。
在创建工具栏时,我使用控件样式TBSTYLE_FLAT | TBSTYLE_TRANSPARENT
并获得了透明背景。但是,我仍然有一个顶部和底部边框,并且手柄也保持不变。
SetBorders(0,0,0,0)
或删除样式CBRS_BORDER_TOP | CBRS_BORDER_BOTTOM
都无法解决问题。
使用CCS_NODIVIDER
(显然用于删除2px的顶部边框)也没有效果。
我可以想象自定义CMFCVisualManager
类可能是解决问题的方法(例如使用CMFCVisualManager::OnFillBarBackground
),但是至今还没有找到任何相关的内容。
清楚起见,这是我目前拥有的代码:
m_wndToolBar.CreateEx(this /*MainFrame*/, TBSTYLE_FLAT | TBSTYLE_TRANSPARENT,
WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP)
LoadToolBar(IDR_MY_TOOLBAR, 0, 0, TRUE);
m_wndToolBar.SetPaneStyle(GetPaneStyle() & ~(CBRS_BORDER_TOP |
CBRS_BORDER_BOTTOM |
CBRS_BORDER_LEFT |
CBRS_BORDER_RIGHT));
m_wndToolBar.SetBorders(0,0,0,0);
我现在的情况如下:
而我的目标是这样的:
非常感谢任何帮助!
CBRS_GRIPPER
吗?考虑在你的问题中发布实际使用的创建/修改工具栏的代码。 - Cody Gray