滚动条控件和 Scroll 事件示例

下例演示独立的滚动条,并在用户移动滚动块时报告其值的变化。用户单击控件两端的箭头、单击滚动块与任意一个箭头之间的区域,或者拖动滚动块,都可以移动滚动块。当用户拖动滚动块时,Scroll 事件显示一条消息,表示用户为获得新值而滚动滚动块。

窗体包含:

  • 名为 ScrollBar1 的滚动条。
  • 名为 Label1 和 Label2 的两个标签控件。Label1 包含用户的缩放信息。Label2 报告 delta 值。

Dim ScrollSaved   '前一个 ScrollBar 设置

Sub UserForm_Initialize()
    UserForm_ScrollBar1.Min = -225
    UserForm_ScrollBar1.Max = 289
    UserForm_ScrollBar1.Value = 0

    UserForm_Label1.Caption = "-225  -----Widgets-----   289"
    UserForm_Label1.AutoSize = True
    
    UserForm_Label2.Caption = ""
End Sub

Sub UserForm_ScrollBar1_Change()
    UserForm_Label2.Caption = " Widget Changes " & (ScrollSaved - UserForm_ScrollBar1.Value)
End Sub

Sub UserForm_ScrollBar1_Exit(Cancel)
    UserForm_Label2.Caption = " Widget Changes "(ScrollSaved - UserForm_ScrollBar1.Value)
    ScrollSaved = UserForm_ScrollBar1.Value
End Sub


Sub UserForm_ScrollBar1_Scroll()
    UserForm_Label2.Caption = (ScrollSaved-UserForm_ScrollBar1.Value) & " Widget Changes by Scrolling"
End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27