gpt4 book ai didi

c++ - CMFCMenuBar 一种 CMFCToolBar 的透明度

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:13 27 4
gpt4 key购买 nike

我想让 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);

这是我现在的位置:

这是我的目标:

enter image description here

非常感谢任何帮助!

最佳答案

您是否尝试调用 SetExclusiveRowMode(true)?菜单栏设置了独占行模式,工具栏默认没有。

关于c++ - CMFCMenuBar 一种 CMFCToolBar 的透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9306980/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com