停靠栏控件 (SDockBar)¶
SDockBar 是 SOUI 中配合 FrameLayout 使用的可停靠窗口控件,提供了类似传统 GUI 框架中停靠面板的功能。
基本信息¶
- 类名:
SDockBar - 控件标签:
dockbar - 基类:
SWindow
功能特点¶
- 支持可停靠的窗口容器
- 提供标题栏和关闭按钮
- 支持窗口大小调整
- 可与 FrameLayout 配合使用,实现复杂的界面布局
属性说明¶
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| captionSkin | 皮肤 | - | 标题栏皮肤 |
| closeBtnSkin | 皮肤 | - | 关闭按钮皮肤 |
| captionHeight | 布局大小 | - | 标题栏高度 |
| resizable | 布尔值 | true | 是否可调整大小 |
使用示例¶
基本停靠栏¶
<dockbar name="property_panel_dock"
dock="right"
size="200,-1"
captionSkin="skin:caption"
closeBtnSkin="skin:close_btn"
captionHeight="24">
<window colorBkgnd="#f0f0f0" size="-1,-1">
<text>属性面板内容</text>
</window>
</dockbar>
与 FrameLayout 配合使用¶
<window layout="frame" size="800,600" colorBkgnd="#cccccc">
<!-- 左侧停靠栏 -->
<dockbar name="toolbox_dock"
dock="left"
size="150,-1"
captionSkin="skin:caption"
closeBtnSkin="skin:close_btn">
<window colorBkgnd="#f0f0f0" size="-1,-1">
<text>工具箱</text>
</window>
</dockbar>
<!-- 右侧停靠栏 -->
<dockbar name="property_dock"
dock="right"
size="200,-1"
captionSkin="skin:caption"
closeBtnSkin="skin:close_btn">
<window colorBkgnd="#f0f0f0" size="-1,-1">
<text>属性面板</text>
</window>
</dockbar>
<!-- 主内容区域 -->
<window dock="main" colorBkgnd="#ffffff">
<text>主内容区域</text>
</window>
</window>
事件处理¶
SDockBar 继承自 SWindow,支持标准的窗口事件。
最佳实践¶
-
与 FrameLayout 配合:SDockBar 通常与 FrameLayout 配合使用,通过设置
dock属性指定停靠位置。 -
皮肤设置:为标题栏和关闭按钮设置合适的皮肤,提升视觉效果。
-
大小调整:通过
resizable属性控制是否允许用户调整停靠栏大小。 -
标题栏高度:根据界面风格设置合适的标题栏高度。
-
内容布局:在 SDockBar 内部使用合适的布局管理器组织内容。
常见问题¶
Q: SDockBar 无法停靠到指定位置怎么办?¶
A: 确保父容器使用了 FrameLayout,并且正确设置了 dock 属性。
Q: 如何控制 SDockBar 的显示和隐藏?¶
A: 使用 SetVisible 方法控制 SDockBar 的显示状态。
相关控件¶
- 框架布局 - SDockBar 通常与 FrameLayout 配合使用
- 工具条 (SToolBar) - 可在 SDockBar 中使用的工具条控件