我想让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);
我现在就在这里:
这是我的目标:
非常感谢任何帮助!
答案 0 :(得分:0)
您是否尝试过调用SetExclusiveRowMode(true)
?菜单栏具有独占的行模式设置,默认情况下不会使用工具栏。