如何将带附加到 CReBar 控件的右侧

How to attach a band to the right side of CReBar control

在我的框架上 window 我有一个 CReBar 控件,在几行上有不可移动的条带。在最后一行有两个带,目前向左对齐,第二个紧跟在第一个之后。

+--------+-------+------------------------------------+
|11111111|2222222|
+--------+-------+------------------------------------+

但我的产品管理人员要我将第二个波段附加到该行的右侧,中间空 space。

+--------+------------------------------------+-------+
|11111111|                                    |2222222|
+--------+------------------------------------+-------+

我找不到任何地方如何做到这一点。如有任何帮助,我将不胜感激。

编辑: 实际代码使用了 Xtreme GUI 库,但其结构非常标准:

// ... Create toolbars
// Add toolbars to ReBar.
if (m_wndReBar.Create(this) &&
    m_wndReBar.AddToolBar(pNavigateTB, RBBS_BREAK | RBBS_NOGRIPPER) &&
    m_wndReBar.AddBar(&m_wndAddressBar, NULL, NULL, RBBS_NOGRIPPER) &&
    m_wndReBar.AddToolBar(pMainToolBar, RBBS_BREAK | RBBS_NOGRIPPER) &&
    m_wndReBar.AddToolBar(pViewsHelpTB, RBBS_NOGRIPPER))
{
    ...
}

这里m_wndReBar是CReBar派生的class,工具栏是通用工具栏控件的Xtreme包装器。他们使用常规的 MFC 标志,我没有找到将工具栏右对齐的选项。

工具栏没有样式或参数,强制其右对齐。但是,可以通过将后续工具栏推到最右边的方式扩展上一个工具栏。

让,如上图第一个,CReBar中两个连续的工具栏在同一行,第一个工具栏的索引为I。比命令

m_ReBar.SendMessage(RB_MAXIMIZEBAND, I, 0);

将第二个工具栏向右移动,如第二个图。这个最右边的位置将在 window 调整大小时保留,但向钢筋添加新的工具栏可能会破坏它。