VB教程:滚动条(ScrollBar)
8、滚动条(滚动条)
功能:当应用程序或控件不能自动支持滚动时,使用水平和垂直滚动条控件为其提供该功能。
滚动条有两种类型:水平滚动条HscrollBar和垂直滚动条VscrollBar。
(1)共同属性
参见教材P135的表5-13。
常用的属性有:
值-当前滑块的位置。
在滚动条中,滚动块的位置可以代表一个输入值。属性的值是反映滚动条中滚动块位置的数值。对于水平滚动条,当滚动块在最左侧时,取最小值;imum最小值;对于垂直波动条,当滚动块在顶部时,该值取最小值min。否则,取value值。在中间的每个位置,值和位置是严格按比例设定的。
有四种方法可以改变滚动条的value属性;
直接在属性窗口中设置该值;
单击鼠标两端的箭头键来更改滚动条值;
您可以将滚动框拖动到滚动条上的任何位置;
用鼠标点击滚动条两侧的部分,使滚动条以翻页的速度移动。
value属性的默认值是从0到32,767。默认情况下,该值取0和32,767(含)之间的一个值。
最大滚动条值
min-滚动条的最小值
滚动条的value属性受其值域的限制,值域由max属性和min属性设置。一般max代表value的值,min代表value的最小值。
如果希望滚动条显示的信息从较大的值变为较小的值,可以将Min设置为大于max的值。
大变化-变化量(单击滑块)
小变化-最小变化(单击箭头)
(2)常见事件
更改事件和滚动事件
单击滚动条、滚动区的滚动箭头或当滚动条的Value属性改变时,然后在滚动条有焦点时按PageUp和Pagedown键,可以触发change事件和Scroll事件。
两者的区别在于,Change事件只能在单击滚动箭头、滚动区或拖动滚动块后引发,而Scroll事件可以在拖动滚动块时引发。
(3)例子
例子见教材P136。
界面:
代码:
私有子窗体_Load()
HScroll1。水平滚动条的Max = 50 '值
HScroll1。' Min = 0 '水平滚动条的最小值
HScroll1。' SmallChange = 1 '通过单击水平滚动条的滚动箭头按钮引起的值变化
HScroll1。LargeChange = 10 '单击水平滚动区
VSCROL1导致的值变化。垂直滚动条的MAX = 50 '值
VSCROL1。“MIN = 0”垂直滚动条的最小值
VScroll1。“SmallChange = 1”更改由单击垂直滚动条的滚动箭头按钮引起的值
VScroll1。LargeChange = 5 '通过单击垂直滚动区改变值。
末端接头
-
私有Sub HScroll1_Change()
标签2。Caption = HScroll1。价值
末端接头
-
私有Sub VScroll1_Change()
标签1。Caption = VScroll1。价值
末端接头
[程序演示][程序下载]
在上面的示例中,将Change事件更改为Scroll事件,然后重试。
示例:跟踪鼠标在窗体范围内的位置。参见教材P137。
在窗体上放置一个图片框、一个水平滚动条和一个垂直滚动条。
界面:
代码:
私有子窗体_Load()
' hscroll 1 . min = 0
vscroll 1 . min = 0 '设置滚动条的最小值
hscroll 1 . max = 100
vscroll 1 . max = 100 '设置滚动条的值
vscroll1.value = 50 [/br
末端接头
-
private Sub picture 1 _ MouseMove(Button为整数,Shift为整数,X为Single,Y为Single)
Y > picture1.top和y < picture 1 . top+picture 1 . height then
vscrol 1 . value =(y-picture 1 . top)/(picture 1 . height)* 100 '跟踪垂直位置(按比例设置)
End If
X > picture1.left和y < picture 1 . left+picture 1 . width then
hscroll 1 . value =(x-picture 1 . left)/(picture 1 . width)* 100 '跟踪水平位置
End If
末端接头
-
私有Sub HScroll1_Change()
标签1。Caption = "X=" & HScroll1。价值
末端接头
-
私有Sub VScroll1_Change()
标签2。Caption = "Y=" & VScroll1。价值
末端接头
[程序演示][程序下载]
示例:单击滚动块显示一年中的12个月。
界面:
代码:
私有子命令1_Click()
卸载表单1
末端接头
-
私有子窗体_Load()
HScroll1。Value =月(现在)
HScroll1。Min = 1
HScroll1。最大值= 12
末端接头
-
私有Sub HScroll1_Change()
标签4。Caption = HScroll1。价值
末端接头
位律师回复
0条评论