Основы офисного программирования и язык VBA

       

ScrollBar - полоса прокрутки


Элемент управления ScrollBar представляет вертикальную или горизонтальную полосу, на краях которой расположены кнопки прокрутки, а внутри перемещается бегунок. Значение Value, устанавливаемое в полосе прокрутки или возвращаемое ей, - число, определяемое положением бегунка и границами, определенными в свойствах Min и Max. Рекомендуемые значения этих границ от -32767 до +32767 (по умолчанию установлен диапазон [0, 32767]). Если отношение длин левого и правого отрезков, на которые полоса прокрутки делится бегунком, - L:R, то

Value = (Min*R+Max*L) / (L+R).

Обычно полоса прокрутки используется в паре с другим элементом управления, в котором может отображать или с которого может получать свое значение. Ниже представлены две полосы прокрутки - горизонтальная (ScrollBar1) и вертикальная (ScrollBar2), - значения которых отображаются в двух полях ввода TextBox1 и TextBox2.


увеличить изображение
Рис. 13. 5.  Полосы прокрутки

Достаточно определить для этих полос прокрутки процедуры обработки события Change, возникающего всякий раз при изменении положения бегунка и, следовательно, значения Value. Вот эта процедура для полосы ScrollBar1:

Private Sub ScrollBar1_Change () TextBox1. Text = ScrollBar1. Value ' запись нового значения в поле End Sub

И еще несколько важных свойств полосы прокрутки.

  • Горизонтальная или вертикальная ориентация полосы прокрутки определяется свойством Orientation. При его значении по умолчанию fmOrientationAuto = - 1, ориентация полосы определяется автоматически в зависимости от ее размера по горизонтали и вертикали (больший размер задает ориентацию) ; FmOrientationVertical = 0 задает вертикальную ориентацию полосы, FmOrientationHorizontal = 1 - горизонтальную.
  • Свойства LargeChange и SmallChange определяют, на сколько изменится значение Value при одном щелчке поверхности полосы между кнопкой прокрутки и бегунком в первом случае, и при щелчке кнопки прокрутки - во втором. Эти же свойства указывают, насколько при этом смещается бегунок. По умолчанию оба свойства равны 1. Рекомендуемая область значений обоих свойств от -32, 767 до 32, 767.
  • Свойство Delay (задержка) определяет время в миллисекундах, через которое последовательно возникают события Change, если пользователь непрерывно щелкает кнопку прокрутки или левую кнопку мыши, указывающей на полосу прокрутки. По умолчанию устанавливается значение в 50 миллисекунд.
  • Свойство ProportionalThumb определяет размер бегунка: True - размер бегунка пропорционален размеру области прокрутки (это значение по умолчанию) ; False - истема определяет фиксированный размер бегунка.

События: AfterUpdate, BeforeDragOver, BeforeUpdate, Change, Enter, Error, Exit, KeyDown, KeyUp, KeyPress, Scroll.

Методы: Move, SetFocus, ZOrder.



Содержание раздела