Delphi TScrollBar 用于滚动窗口、组件内容
滚动条组件(TScrollBar)此组件是一个Windows滚动条,用于滚动窗口、组件内容。许多控制有滚动条属性,它们把滚动条作为自己的一部分,对于没有完整滚动条的控制,TScrollBar组件提供了一个附加的功能,运用它可以使某些控制的内容易于操作。
1、TScrollBar组件的典型用法
一般情况下,滚动条是自动加入的,例如前面讲的列表框,当项目不能完全显示时,列表框将自动加上滚动条。当用户操作滚动条时,列表自动滚动。
如果想自己操纵窗口滚动,就要用到TScrollBar组件,当用户在滚动条上操作时,将触发OnScroll事件,这样就可以操纵怎样滚动了。
在通常情况下,用户只利用OnScroll事件,并在代码中引用Position属性,获取TScrollBar组件中小方块的位置,然后利用此值进行操作,例如设置文字的字号大小、颜色的取值等。
2、TScrollBar组件的重要属性
Kind---------此属性用于设置滚动条是水平方向的还是垂直方向的
LargeChange--设置滚动条滚动的距离
Max------------此属性用于设置滚动条的最终值
Min------------此属性用于设置滚动条的起始值
PageSize-------当按PgUp或PgDn键时,设置滚动条滚动的距离Position设置或返回滚动条中小方块的位置
SmallChange----用户按下滚动条两端的箭头时滚动条滚动的距离
(1)Kind属性
Kind属性用于设置滚动条是水平方向的还是垂直方向。它有两个取值:
. sbHorrizontal:水平方向;
. sbVertical:垂直方向。
(2)LargeChange属性
当用户单击滚动条内(不是滚动条两端的箭头)时,滚动条滚动的距离是由LargeChange属性设置的,默认是
1,这是一个相对数。假设LargeChange属性设为10,如果Max属性减去Min属性为80,则用户只要按8次滚动条就能从一端滚到另一端。
(3)Max属性和Min属性
这两个属性分别用来设置滚动条的最终值和起始值,它们的取值在-2147483648和2147483647之间。
Max属性取值必须大于Min属性,并且必须为0或正整数。
(4)PageSize属性
当用户按PgUp或PgDn键时,滚动条滚动的距离是由PageSize属性设置的,默认是1。
(5)Position属性
Position属性用于设置或返回滚动条中小方块的位置,可以在设计期设置Position属性指定的小方块的起始位置,也可以在运行期修改Position属性使滚动条滚动。
(6)SmallChange属性
SmallChange属性与LargeChange属性相似,不同的是,它是用户按滚动条两端的箭头时滚动条滚动的距离,默认值是1。
3、TScrollBar组件的重要事件
OnChange-------------用户操作滚动条或者通过编程直接修改
Position-------------属性的值,都会触发该事件
OnScroll-------------当用户操作滚动条时将触发这个事件
(1)OnChange事件
用户操作滚动条或者通过编程直接修改Position属性的值,都会触发该事件。
OnScroll事件只在用户操作滚动条时才会发生,OnChange事件发生在OnScroll事件之后。
(2)OnScroll事件
当用户操作滚动条时将触发这个事件。其中ScrollPos参数返回滚动条中小方块的位置ScrollCode参数返回滚动条的状态。可以是以下各值。
. scLineUp:用户按下滚动条的左或上箭头或者键盘上的向上方向键。
. scLineDown:用户按下滚动条的右或下箭头或者键盘上的向下方向键。
. scPageUp:用户单击滚动条内小方块左边或上边的区域或者按下PgUp键。
. scPageDown:用户单击滚动条内小方块右边或下边的区域或者按下PgDn键。
. scPosition:用户在滚动条内拖拽小方块并且已释放。
. scTrack:用户正在拖拽小方块。
. scTop:用户把小方块移到滚动条的上端或左端。
. scBottom:用户把小方块移到滚动条的下端或右端。
. scEndScroll:用户操作滚动条后释放了鼠标或按键。