ScrollableBox
继承了 Box
容器属性和方法,更多可用属性和方法请参考:Box 容器。
注意:此控件不能在 XML 中直接使用,仅作为可滚动布局容器的基类,此处仅记录继承该容器的其他容器所拥有的公共属性和方法。请参考使用 ListBox。
属性名称 | 默认值 | 参数类型 | 用途 |
---|---|---|---|
vscrollbar | false | BOOL | 是否使用竖向滚动条,如(true) |
hscrollbar | false | BOOL | 是否使用横向滚动条,如(true) |
vscrollbarstyle | STRING | 设置本容器的纵向滚动条的样式 | |
hscrollbarstyle | STRING | 设置本容器的横向滚动条的样式 | |
scrollbarpadding | 0,0,0,0 | RECT | 滚动条的外边距,可以让滚动条不占满容器,如(2,2,2,2) |
vscrollunit | 30 | INT | 容器的纵向滚动条滚动步长,0代表使用默认步长 |
scrollbarfloat | true | BOOL | 容器的滚动条是否悬浮在子控件上面,如(true) |
defaultdisplayscrollbar | true | BOOL | 暂时无用,未开发 |
holdend | false | BOOL | 是否一直保持显示末尾位置,如(true) |
获取滚动条位置
virtual CSize GetScrollPos()
- 返回值:返回滚动条的位置信息
获取滚动条的范围
virtual CSize GetScrollRange()
- 返回值:返回滚动条的范围信息
设置滚动条位置
virtual void SetScrollPos(CSize szPos)
- 参数:
szPos
要设置的位置数据
- 返回值:无
设置滚动条 Y 轴坐标
virtual void SetScrollPosY(int y)
- 参数:
y
要设置的 y 轴坐标数值
- 返回值:无
设置滚动条 X 轴坐标
virtual void SetScrollPosX(int x)
- 参数:
x
要设置的 x 轴坐标数值
- 返回值:无
向上滚动滚动条
virtual void LineUp(int detaValue = DUI_NOSET_VALUE, bool withAnimation = true)
- 参数:
deltaValue
滚动距离,默认为 DUI_NOSET_VALUEwithAnimation
是否附带动画效果,默认为 true
- 返回值:无
向下滚动滚动条
virtual void LineDown(int detaValue = DUI_NOSET_VALUE, bool withAnimation = true)
- 参数:
deltaValue
滚动距离,默认为 DUI_NOSET_VALUEwithAnimation
是否附带动画效果,默认为 true
- 返回值:无
向左滚动
virtual void LineLeft(int detaValue = DUI_NOSET_VALUE)
- 参数:
deltaValue
滚动距离,默认为 DUI_NOSET_VALUE
- 返回值:无
向右滚动
virtual void LineRight(int detaValue = DUI_NOSET_VALUE)
- 参数:
deltaValue
滚动距离,默认为 DUI_NOSET_VALUE
- 返回值:无
向上滚动一个页面大小的距离
virtual void PageUp()
- 返回值:无
向下滚动一个页面大小的距离
virtual void PageDown()
- 返回值:无
回到滚动条最上方
virtual void HomeUp()
- 返回值:无
滚动到最下方位置
virtual void EndDown(bool arrange = true, bool withAnimation = true)
- 参数:
arrange
是否重置滚动条位置,默认为 truewithAnimation
是否包含动画特效,默认为 true
- 返回值:无
向左滚动一个页面大小的距离
virtual void PageLeft()
- 返回值:无
向右滚动一个页面大小的距离
virtual void PageRight()
- 返回值:无
滚动到最左侧
virtual void HomeLeft()
- 返回值:无
滚动到最右侧
virtual void EndRight()
- 返回值:无
触摸向上滚动(响应 WM_TOUCH 消息)
virtual void TouchUp(int deltaValue)
- 参数:
deltaValue
滚动距离
- 返回值:无
触摸向下滚动(响应 WM_TOUCH 消息)
virtual void TouchDown(int deltaValue)
- 参数:
deltaValue
滚动距离
- 返回值:无
启用滚动条
virtual void EnableScrollBar(bool bEnableVertical = true, bool bEnableHorizontal = false)
- 参数:
bEnableVertical
是否启用垂直滚动条,默认为 truebEnableHorizontal
是否启用水平滚动条,默认为 true
- 返回值:无
获取垂直滚动条对象指针
virtual ScrollBar* GetVerticalScrollBar()
- 返回值:返回垂直滚动条对象指针
获取水平滚动条对象指针
virtual ScrollBar* GetHorizontalScrollBar()
- 返回值:返回水平滚动条对象指针
待补充
virtual void ProcessVScrollBar(UiRect rc, int cyRequired)
- 参数:
- `待补充
- 返回值:待补充
待补充
virtual void ProcessHScrollBar(UiRect rc, int cxRequired)
- 参数:
- `待补充
- 返回值:待补充
判断垂直滚动条是否有效
bool IsVScrollBarValid()
- 返回值:返回 true 表示有效,否则 false 为无效
判断水平滚动条是否有效
bool IsHScrollBarValid()
- 返回值:返回 true 表示有效,否则 false 为无效
待补充
void ReomveLastItemAnimation()
- 参数:
- `待补充
- 返回值:待补充
待补充
void PlayRenderOffsetYAnimation(int nRenderY)
- 参数:
- `待补充
- 返回值:待补充
是否已经在底部
bool IsAtEnd()
- 返回值:返回 true 表示已经在底部,否则为 false
是否锁定到底部
bool IsHoldEnd()
- 返回值:回 true 表示锁定在底部,否则为 false
设置滚动条是否始终锁定到底部位置
void SetHoldEnd(bool bHoldEnd)
- 参数:
bHoldEnd
设置 true 表示锁定,false 为不锁定
- 返回值:无
获取垂直滚动条滚动步长
int GetVerScrollUnitPixels()
- 返回值:返回滚动步长
设置垂直滚动条滚动步长
void SetVerScrollUnitPixels(int nUnitPixels)
- 参数:
nUnitPixels
要设置的步长
- 返回值:无
获取容器的滚动条是否悬浮在子控件上面
bool GetScrollBarFloat()
- 返回值:返回 true 表示悬浮在滚动条上,否则为 false
设置容器的滚动条是否悬浮在子控件上面
void SetScrollBarFloat(bool bScrollBarFloat)
- 参数:
bScrollBarFloat
true 表示悬浮在滚动条上,false 表示不悬浮在控件上
- 返回值:无
获取滚动条的外边距
UiRect GetScrollBarPadding()
- 返回值:返回边距信息
设置滚动条的外边距,可以让滚动条不占满容器
void SetScrollBarPadding(UiRect rcScrollBarPadding)
- 参数:
rcScrollBarPadding
要设置的边距
- 返回值:无
待补充
bool GetDefaultDisplayScrollbar()
- 参数:
- `待补充
- 返回值:待补充
待补充
void SetDefaultDisplayScrollbar(bool bDefaultDisplay)
- 参数:
- `待补充
- 返回值:待补充
监听滚动条位置变化事件
void AttachScrollChange(const EventCallback& callback)
- 参数:
callback
有变化后通知的回调函数
- 返回值:无
计算所需的尺寸
virtual CSize CalcRequiredSize(const UiRect& rc)
- 参数:
rc
当前位置信息
- 返回值:返回所需尺寸大小
加载图片缓存,仅供 ScrollableBox 内部使用
void LoadImageCache(bool bFromTopLeft)
- 参数:
bFromTopLeft
暂无意义
- 返回值:无
待补充
void SetPosInternally(UiRect rc)
- 参数:
- `待补充
- 返回值:待补充