Я хочу, чтобы панель инструментов в MFC (CMFCToolBar
) выглядела прозрачной, как и по умолчанию, значение CMFCMenuBar
.CMFCMenuBar вид прозрачности для CMFCToolBar
Я использую стили управления 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);
Вот где я сейчас:
И это моя цель:
Любая помощь очень ppreciated!
Вы пытаетесь удалить 'CBRS_GRIPPER'? Подумайте о публикации в своем вопросе фактического кода, который вы используете для создания/изменения панели инструментов. –
Я не хочу удалять захват, я просто хотел бы, чтобы он выглядел так же, как с CMFCMenuBar, т. Е. Прозрачным. – mrknownothing