windows - 如何将条带附加到 CReBar 控件的右侧
问题描述
在我的框架窗口上,我有一个 CReBar 控件,在几行上带有不可移动的条带。在最后一行有两条带,它们当前向左对齐,第二条紧跟在第一条之后。
+--------+-------+------------------------------------+
|11111111|2222222|
+--------+-------+------------------------------------+
但我的产品管理人员希望我将第二条带子连接到线的右侧,中间留有空白区域。
+--------+------------------------------------+-------+
|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 派生类,工具栏是通用 Toolbar 控件的 Xtreme 包装器。他们使用常规的 MFC 标志,我没有找到将工具栏向右对齐的选项。
解决方案
工具栏没有样式或参数,这迫使它向右对齐。但是,可以通过将后续工具栏推到最右侧位置的方式来扩展前一个工具栏。
假设如上图所示,两个连续的工具栏在 CReBar 的同一行,第一个工具栏的索引为 I。比命令
m_ReBar.SendMessage(RB_MAXIMIZEBAND, I, 0);
将第二个工具栏向右移动,如第二个图所示。这个最右边的位置将在窗口调整大小期间保留,但是向钢筋添加新工具栏可能会破坏它。
推荐阅读
- python - 有什么方法可以在树莓派上编译 python 程序吗?
- python - response = super().list(request, args, kwargs) 解释
- java - 绕过安全 Springboot 的资源处理程序
- jquery - /cart/ 处的 AssertionError 期望从视图返回 `Response`,`HttpResponse`,但收到了 `
` - blender - 烘焙 Alembic 并导出为带有动画的 glTF 或 FBX
- angular - 是否可以在 Web 应用程序中检测 iBeacon?
- git - git commit -m 有问题,开关“m”需要一个值吗?
- python - 如何从列表中的最大数字到最小数字获取索引?
- javascript - 项目依赖树可能有问题。这可能不是 Create React App 中的错误,而是您需要在本地修复的问题
- android - Android:如何启用崩溃报告和诊断