MFC并列显示多个工具栏(Toolbar)

8 篇文章 0 订阅

转自:http://blog.csdn.net/zyrr159487/article/details/7062974


第一个工具栏:

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT,
    WS_CHILD | WS_VISIBLE | CBRS_TOP |
    CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS |
    CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
    !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
    TRACE0("Failed to create toolbar");
    return -1;      // fail to create
}
m_wndToolBar.SetWindowText(_T("标准工具栏"));
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);

第二个工具栏:

if (!m_wndExtendBar.CreateEx(this, TBSTYLE_FLAT,
    WS_CHILD | WS_VISIBLE | CBRS_TOP |
    CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS |
    CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
    !m_wndExtendBar.LoadToolBar(IDR_EXTEND_BAR))
{
    TRACE0(_T("Failed to create extend toolbar"));
    return -1;
}
m_wndExtendBar.SetWindowText(_T("扩展工具栏"));
m_wndExtendBar.EnableDocking(CBRS_ALIGN_ANY);
CRect rect;
m_wndExtendBar.GetWindowRect(&rect);
rect.OffsetRect(1, 0);
this->RecalcLayout();    //关键的一步,重新排列
DockControlBar(&m_wndExtendBar, AFX_IDW_DOCKBAR_TOP, &rect);

注:第二个工具栏 CreateEx必须写在第一个工具栏 CreateEx之后,否则还是两行

























  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将多个工具栏并列放在一起,你可以使用 QToolBar 和 QHBoxLayout 或 QVBoxLayout 来组合它们。下面是一个示例代码,展示如何将多个工具栏水平放置在一起: ```python from PyQt5.QtWidgets import QMainWindow, QApplication, QToolBar, QAction, QHBoxLayout, QWidget class MainWindow(QMainWindow): def __init__(self): super().__init__() # 创建工具栏 toolbar1 = QToolBar("Toolbar 1") toolbar2 = QToolBar("Toolbar 2") toolbar3 = QToolBar("Toolbar 3") # 添加动作到工具栏 action1 = QAction("Action 1", self) action2 = QAction("Action 2", self) action3 = QAction("Action 3", self) toolbar1.addAction(action1) toolbar2.addAction(action2) toolbar3.addAction(action3) # 创建一个水平布局并将工具栏添加到布局中 layout = QHBoxLayout() layout.addWidget(toolbar1) layout.addWidget(toolbar2) layout.addWidget(toolbar3) # 创建一个小部件,并将布局设置为小部件的布局 widget = QWidget() widget.setLayout(layout) # 将小部件设置为主窗口的中央部分 self.setCentralWidget(widget) if __name__ == "__main__": app = QApplication([]) window = MainWindow() window.show() app.exec_() ``` 在这个例子中,我们创建了三个工具栏 `toolbar1`、`toolbar2` 和 `toolbar3`,并将它们添加到水平布局中。然后,我们创建一个小部件,并将水平布局设置为小部件的布局。最后,我们将小部件设置为主窗口的中央部分。 你可以根据需要添加更多的工具栏,并使用水平布局或垂直布局来排列它们。希望这个例子对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值