182______________________________________________Глава 3

метками. Например, если Frequency = 2, то метки будут соответствовать только
каждому второму возможному значению позиции (такое значение Frequency зада-
но в верхнем компоненте на рис. 3. 23).

Свойства LineSize и PageSize определяют, насколько смещается ползунок,
если пользователь управляет им с помощью соответственно клавиш со стрелками
или клавишами PageUp и PageDown.

Свойства SelStart и SelEnd позволяют визуально выделить на шкале некото-
рый диапазон (см. средний компонент на рис. 3. 23), который о чем-то говорит по-
льзователю, например, рекомендуемый диапазон значений. При этом ничто не ме-
шает пользователю выйти за пределы этого диапазона.

Похож на ползунок по своим функциям и компонент ScrollBar, хотя выглядит
он иначе и предназначен по замыслу для других целей. Этот компонент представляет
собой стандартную линейку прокрутки Windows. Однако, он может использоваться и
для целей прокрутки (впрочем, многие оконные компоненты C++Builder имеют соб-
ственные полосы прокрутки), и для управления, подобного компоненту TrackBar.

Основные свойства ScrollBar — Position, Min и Мах те же, что у компонента
TrackBar. Свойство Kind, определяющее горизонтальное или вертикальное распо-
ложение полосы и принимающее соответственно значения sbHorizontal или
sbVertical, аналогично свойству Orientation компонента TrackBar.

Имеются два свойства, напоминающие свойства LineSize и PageSize в Track-
Bar: SmallChange и LargeChange. Они определяют соответственно «малый» сдвиг
при щелчке на кнопке в конце полосы или нажатии клавиши со стрелкой, и «боль-
шой» сдвиг при перемещении на страницу щелчком рядом с бегунком или нажати-
ем клавиш PgUp или PgDn.

Событие, соответствующее перемещению пользователем бегунка полосы про-
крутки — OnScroll. В процедуру обработчика этого события передается по ссылке
параметр int &ScrollPos — позиция бегунка, которую можно читать, но можно и
изменять, и передается параметр ScrollCode, характеризующий вид перемещения
бегунка. Этот параметр может иметь значения:

scLineUp, scLineDown  «Малый» сдвиг: перемещение соответственно вверх
или налево и вниз или вправо после нажатии кнопки
полосы прокрутки или клавиши со стрелкой

scPageUp, scPageDown «Большой» сдвиг: перемещении на страницу щелчком
рядом с бегунком или нажатием клавиш PgUp или
PgDn

scPosition             Пользователь переместил и освободил бегунок
scTrack                Пользователь перемещает бегунок

scTop, scBottom       Бегунок перемещен соответственно в крайнюю верх-
нюю или левую позицию и в крайнюю нижнюю или
правую позицию

scEndScroll           Окончание перемещения

В обработке события ScrollPos можно поместить операторы, перемещающие
требуемую область формы или компонент, а можно поместить операторы, которые
управляют некоторым компонентом, используя значение позиции бегунка Scroll-
Pos.