进度条和微调控件
7.5.1 进度条控件
即ProgressBar控件,通过从左到右用一些方块填充矩形来表示一个较长操作的进度。因而可以监视操作完成的进度。ProgressBar控件位于Microsoft Windows Common Control 6.0部件中。ProgressBar控件有一个行程和一个当前位置。行程代表操作的整个持续时间,当前位置则代表应用程序在完成该操作过程时的进度。
ProgressBar控件的重要属性有Max属性,Min属性和Value属性。Max和Min属性设置了行程界限;Value属性则指明了在行程范围内的当前位置。由于使用方块来填充控件,因此所填充的数量只能接近于Value属性的当前设置。一般来讲,可以将Max设置为100,Min设置为1。
例7.5设计一个进度条用来指示一个大数组的计算进度。界面设计如图7-9所示。
Sub Command1_Click()
Dim Counter As Integer
Dim Workarea(25000) As String
ProgressBar1.Min = LBound(Workarea)
ProgressBar1.Max = UBound(Workarea)
ProgressBar1.Visible = True
ProgressBar1.Value = ProgressBar1.Min ' 设置进度的值为Min
' 在整个数组中循环
For Counter = LBound(Workarea) To UBound(Workarea)
' 设置数组中每项的初始值
Workarea(Counter) = "Initial value" & Counter
ProgressBar1.Value = Counter
Next Counter
ProgressBar1.Visible = False
ProgressBar1.Value = ProgressBar1.Min
End Sub
7.5.2 UpDown控件
UpDown控件有一对上下箭头按钮,位于Microsoft Windows Common Control-2 6.0部件中,往往与其他控件捆绑在一起使用。单击时使诸如滚动位置或关联的伙伴控件中的值增减。
对用户而言,UpDown控件及其伙伴控件常常像单个控件。伙伴控件可以是通过BuddyControl属性与UpDown控件相关联的任何控件,通常它显示如TextBox控件或CommonButton控件的数据。
一些辅助的无窗口控件,如标签控件,不能用作UpDown控件的伙伴控件。
建立UpDown控件的伙伴控件有两种方法:
通过设置AutoBuddy属性,UpDown控件自动将Tab顺序中前面的控件作为它的伙伴控件。如果Tab顺序中没有前面的控件,UpDown控件则将Tab顺序中的下一个控件作为它的伙伴控件。
另一种设置伙伴控件的方法是使用BuddyControl属性。在设计时,一旦AutoBuddy属性或BuddyControl属性被设置,伙伴控件会自动地按其大小和位置与UpDown控件配对。UpDown控件可用Alignment属性决定它被放在伙伴控件的右面还是左面。
当单击控件上的按钮时,Increment,Min,Max和Wrap属性规定UpDown控件的Value属性如何改变。例如,如果有一些值是10的倍数,且在20~80之间,可以设置Increment,Min和Max属性值分别为10,20和80。Wrap属性属于Value属性值超过Max时,属性值从Min属性值从新开始增加,或相反。
UpDown控件常用的事件有UpClick(单击向上箭头),DownClick(单击向下箭头)和Change(Value属性值改变)事件。
【例7.6】用UpDown控件控制字号
将Text1文本框控件作为UpDown1控件的伙伴控件,要求单击向上箭头时,Text1中的文本字号增加,反之则减少。
(2)属性设置。对象属性设置如表7-7所示。
表7-7对象属性设置
对象 |
属性 |
设定值 |
窗体 |
Name |
Form1 |
Caption |
UpDown控件 | |
UpDown控件 |
Name |
UpDown1 |
文本框 |
Name |
Text1 |
Private Sub UpDown1_Change ()
Text1.FontSize = UpDown1.Value
End Sub
运行程序,输入任意文本,可发现,字号可以大的吓人,图7-12为程序的运行结果。