- 零基础学Visual Basic第2版
- 李俊民 赵东等编著
- 218字
- 2024-12-20 23:53:31
4.12 滚动条
在Windows中,会经常遇到滚动条,有垂直、水平两种,都附在窗口、组合框、列表框的上面,用来拖动观察窗口或框中未能显示出来的部分,这种滚动条是系统自动添加上的,不需要用户自己设计。而下面要介绍的不是这种滚动条。
Visual Basic提供了滚动条控件,编程人员可以利用滚动条输入数据或确定位置。在工具箱中,有水平滚动条和垂直滚动条两个控件,除方向不同外,这两个滚动条的结构和操作是一样的。滚动条的两端各有一个滚动箭头,在中间有一个滑块,如图4.34所示。
图4.34 滚动条
4.12.1 滚动条的属性
通常,垂直滚动条的值由上往下递增,最上端代表最小值(Min),最下端代表最大值(Max)。水平滚动条的值从左向右递增,最左端代表最小值,最右端代表最大值。滚动条的值均以整数表示,其取值范围在-32768~32767。
滚动条的坐标系与它当前的尺寸大小无关。可以把每个滚动条当作有数字刻度的直线,从一个整数到另一个整数。这条直线的最小值和最大值分别在该直线的左、右端或上、下端,其值分别用属性Min和Max代表。滚动条的长度与坐标系无关。
1. Max属性
滚动条所能表示的最大值,取值范围为-32768~32767。当滑块位于最右端或最下端时,滚动条的值(Value)为该值。
2. Min属性
滚动条所能表示的最小值,取值范围也为-32768~32767。当滑块位于最左端或最上端时,滚动条的值(Value)为该值。设置好Max、Min属性之后,滚动条的值就会在这两个数的范围内变化。
3. LargeChange属性
单击滚动条时,Value增加或减小的增量值。
4. SmallChange属性
单击滚动条两端的箭头时,Value增加或减小的增量值。
5. Value属性
该属性值表示滑块在滚动条上的当前位置。在运行阶段用该属性也可以设置滑块在滚动条中的位置。
4.12.2 滚动条的事件
滚动条最有用的事件只有两个,分别是Scroll和Change事件。当在滚动条内拖动滑块时触发Scroll事件,而改变滑块的位置后触发Change事件。这样听起来这两个事件好像没什么区别,实际上Scroll事件在拖动滑块的过程中不断地被触发,而Change事件只是在最后停止拖拽而且滑块位置被改变后才会被触发。例如,如果将滑块从最左侧拖拽到最右侧,并且在不松开鼠标左键的状态下再拖回到最左侧,整个过程中Scroll事件会不断地被触发,而Change事件因为滑块的位置最终没有被改变,所以一次都没有被触发。
4.12.3 应用案例—选择背景颜色
【实例4.17】如图4.35所示,窗体中有3个水平滚动条,分别用来控制红色、绿色和蓝色值,通过拖动滑块来控制窗体背景颜色。
窗体中,各控件的属性设置如表4.19所示。
图4.35 实例4.17的运行结果
表4.19 实例4.17中控件的属性设置
编写事件过程如下。
01 Private Sub hsbBlue_Scroll() 02 Form1.BackColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value) 03 End Sub 04 05 Private Sub hsbGreen_Scroll() 06 Form1.BackColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value) 07 End Sub 08 09 Private Sub hsbRed_Scroll() 10 Form1.BackColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value) 11 End Sub
【代码说明】上面代码中第02、06、10行出现的RGB是一个可以代表颜色值的函数,其格式为:
RGB(red, green, blue)
RGB函数有3个参数,从左至右分别代表颜色的红色成分、绿色成分和蓝色成分,其每一个参数的取值范围是0~255之间的整数。例如,RGB(255,0,0)代表红色,RGB(0,255,0)代表绿色而RGB(0,0,255)代表蓝色。众所周知,通过红绿蓝三色可以调制出几乎所有的可见色,因此,RGB函数可以通过控制其3个参数的值来代表所有可见色,上面的程序就是用了这种原理。