Я хочу, чтобы панель инструментов в 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);
Вот где я сейчас нахожусь:
И это моя цель:
Любая помощь высоко ценится!