Поделиться через


Управление степенью прокрутки в полосе прокрутки

В следующем примере демонстрируются свойства LargeChange и SmallChange при использовании с автономной полосой Прокрутки. Пользователь может присваивать свойствам LargeChange и SmallChange любые целочисленные значения в диапазоне от 0 до 100. В этом примере также используется свойство TextBox.MaxLength для ограничения количества символов, введенных в элементах управления TextBox для значений LargeChange и SmallChange .

Чтобы использовать этот пример, скопируйте пример кода в редактор скриптов формы. Чтобы запустить код, необходимо открыть форму, чтобы активировать событие Open . Убедитесь, что эта форма содержит:

  • Метка с именем Label1

  • Объект TextBox с именем TextBox1, привязанный к настраиваемой строке с именем ScrollBarSmallChange.

  • Метка с именем Label2

  • Объект TextBox с именем TextBox2, привязанный к настраиваемой строке с именем ScrollBarLargeChange.

  • ScrollBar с именем ScrollBar1, привязанный к настраиваемой строке с именем ScrollBarValue.

  • Элемент Label с именем Label3.

Sub Item_Open() 
 Set Label1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label1") 
 Set ScrollBar1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ScrollBar1") 
 Set TextBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox1") 
 Set Label2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label2") 
 Set TextBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox2") 
 Set Label3 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label3") 
 
 ScrollBar1.Min = -1000 
 ScrollBar1.Max = 1000 
 
 Label1.Caption = "SmallChange 0 to 100" 
 ScrollBar1.SmallChange = 1 
 TextBox1.Text = ScrollBar1.SmallChange 
 TextBox1.MaxLength = 3 
 
 Label2.Caption = "LargeChange 0 to 100" 
 ScrollBar1.LargeChange = 100 
 TextBox2.Text = ScrollBar1.LargeChange 
 TextBox2.MaxLength = 3 
 
 ScrollBar1.Value = 0 
 Label3.Caption = ScrollBar1.Value 
End Sub 
 
Sub Item_CustomPropertyChange(byval pname) 
 Set ScrollBar1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ScrollBar1") 
 Set TextBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox1") 
 Set TextBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox2") 
 Set Label3 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label3") 
 
 If pname = "ScrollBarMin" Then 
 
 If IsNumeric(TextBox1.Text) Then 
 TempNum = CInt(TextBox1.Text) 
 If TempNum >= 0 And TempNum <= 100 Then 
 ScrollBar1.SmallChange = TempNum 
 Else 
 TextBox1.Text = ScrollBar1.SmallChange 
 End If 
 Else 
 TextBox1.Text = ScrollBar1.SmallChange 
 End If 
 
 ElseIf pname = "ScrollBarMax" Then 
 
 If IsNumeric(TextBox2.Text) Then 
 TempNum = CInt(TextBox2.Text) 
 If TempNum >= 0 And TempNum <= 100 Then 
 ScrollBar1.LargeChange = TempNum 
 Else 
 TextBox2.Text = ScrollBar1.LargeChange 
 End If 
 Else 
 TextBox2.Text = ScrollBar1.LargeChange 
 End If 
 
 ElseIf pname = "ScrollBarValue" Then 
 
 Label3.Caption = ScrollBar1.Value 
 End If 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.