Компонент TScrollBar похож по своим функциям на ползунок TTrackBar, хотя выглядит он иначе и предназначен по замыслу для отображения стандартной линейки прокрутки Windows. Он может использоваться и для целей прокрутки (впрочем, многие оконные компоненты Delphi имеют собственные полосы прокрутки), и для управления, подобного компоненту TTrackBar.
Основное свойства TScrollBar - Position. Оно отражает положение бегунка. Это свойство можно задавать во время проектирования или программно во время выполнения. При перемещении пользователем бегунка можно прочитать значение Position, характеризующее позицию, в которую пользователь переместил ползунок. Для возможности такого чтения служит событие OnChange. В обработчике этого события можно прочитать значение Position и использовать его для прокрутки или для управления каким-то компонентом. Свойство Position - целое, значение которого может изменяться в пределах, задаваемых свойствами Min и Max. По умолчанию Min = 0, Max = 100, так что Position может принимать значения - от 0 до 100. Если задать большее или меньшее значение Max, соответственно увеличится или уменьшится количество возможных значений Position в диапазоне Min - Max.
Свойство Kind, определяет горизонтальное или вертикальное расположение полосы и принимает соответственно значения sbHorizontal или sbVertical.
Имеются два свойства - SmallChange и LargeChange, определяющих соответственно "малый" сдвиг при щелчке на кнопке в конце полосы или нажатии клавиши со стрелкой, и "большой" сдвиг при перемещении на страницу щелчком рядом с бегунком или нажатием клавиш PageUp или PageDown.
Событие, соответствующее перемещению пользователем бегунка полосы прокрутки - OnScroll. В процедуру обработчика этого события передается по ссылке параметр ScrollPos - позиция бегунка, которую можно читать, но можно и изменять, и передается параметр ScrollCode, характеризующий вид перемещения бегунка. Этот параметр может иметь значения:
scLineUp, scLineDown - "Малый" сдвиг: перемещение соответственно вверх или налево и вниз или вправо после нажатия кнопки полосы прокрутки или клавиши со стрелкой
scPageUp, scPageDown - "Большой" сдвиг: перемещение на страницу щелчком рядом с бегунком или нажатием клавиш PageUp или PageDown
scPosition - Пользователь переместил и освободил бегунок
scTrack - Пользователь перемещает бегунок
scTop, scBottom - Бегунок перемещен соответственно в крайнюю верхнюю или левую позицию и в крайнюю нижнюю или правую позицию
scEndScroll - Окончание перемещения
В обработке события ScrollPos можно поместить операторы, перемещающие требуемую область формы или компонент, а можно поместить операторы, которые управляют некоторым компонентом, используя значение позиции бегунка ScrollPos.