Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

TrackBar и ScrollBar - ползунки и полосы прокрутки

CuBook3.745

Компонент TrackBar

Компонент TrackBar представляет собой элемент управления в виде ползунка, который пользователь может перемещать курсором мыши или клавишами во время выполнения. Таким образом, пользователь может управлять какими-то процессами: громкостью звука, размером изображения и т.п. Он может располагаться горизонтально, вертикально, иметь шкалу с различных сторон, иметь какой-то выделенный диапазон шкалы.
 
Основное свойство компонента - Position. Это свойство можно задавать во время проектирования или программно во время выполнения. При перемещении пользователем ползунка можно прочитать значение Position, характеризующее позицию, в которую пользователь переместил ползунок. Для возможности такого чтения служит событие OnChange. В обработчике этого события можно прочитать значение Position и использовать его для управления каким-то компонентом.
 
Свойство Position - целое, значение которого может изменяться в пределах, задаваемых свойствами Min и Мах. По умолчанию Min = 0, Мах = 10, так что Position может принимать только 11 значений от 0 до 10. Если задать большее значение Мах, соответственно увеличится количество возможных значений Position в диапазоне MinMax.
 
Свойство Orientation определяет ориентацию ползунка: trHorizontal - горизонтальная, trVertical - вертикальная.
Свойство TickMarks указывает размещение шкалы относительно компонента и может принимать значения: tniBottomRight - снизу или справа в зависимости от ориентации компонента, tmTopLeft - сверху или слева в зависимости от ориентации компонента, tmBoth - с обеих сторон.
Свойство TickStyle определяет способ изображения шкалы. Оно может принимать значения: tsAuto - автоматическая прорисовка шкалы, tsNone - отсутствие шкалы, tsManual - программное рисование шкалы с помощью метода SetTick (VaIue: Integer), который помещает метку шкалы в позицию, соответствующую величине Value. Метки, соответствующие началу и концу шкалы автоматически размещаются и в случае TickStyle = tsManual.
 
При TickStyle = tsAuto частота меток шкалы определяется свойством Frequency. Это свойство задает, сколько возможных значений Position лежит между метками. Например, если Frequency = 2, то метки будут соответствовать только каждому второму возможному значению позиции.
 
Свойства LineSize и PageSize определяют, насколько смещается ползунок, если пользователь управляет им с помощью соответственно клавиш со стрелками или клавишами PageUp и PageDown.
Свойства SelStart и SelEnd позволяют визуально выделить на шкале некоторый диапазон, который о чем-то говорит пользователю, например, рекомендуемый диапазон значений. При этом ничто не мешает пользователю выйти за пределы этого диапазона.
 
Компонент ScrollBar

Похож на ползунок по своим функциям и компонент ScrollBar, хотя выглядит он иначе и предназначен по замыслу для других целей. Этот компонент представляет собой стандартную линейку прокрутки Windows. Однако он может использоваться и для целей прокрутки (впрочем, многие оконные компоненты C++Builder имеют собственные полосы прокрутки), и для управления, подобно компоненту TrackBar.
 
Основные свойства ScrollBar - Position, Min и Мах те же, что у компонента TrackBar.
Свойство Kind, определяющее горизонтальное или вертикальное расположение полосы и принимающее соответственно значения sbHorizontal или sbVertical, аналогично свойству Orientation компонента TrackBar.
 
Имеются два свойства, отсутствующие у TrackBar: SmallChangc и LargeChange. Они определяют соответственно «малый» сдвиг при щелчке на кнопке в конце полосы или нажатии клавиши со стрелкой, и «большой» сдвиг при перемещении на страницу щелчком рядом с бегунком или нажатием клавиш PageUp или PageDown.
 
Событие, соответствующее перемещению пользователем бегунка полосы прокрутки OnScroll. В процедуру обработчика этого события передается по ссылке параметр ScrollPos - позиция бегунка, которую можно читать, но можно и изменять, и передается параметр ScrollCode, характеризующий вид перемещения бегунка. Этот параметр может иметь следующие значения:
Значение Описание
scLineUp, scLineDown «Малый» сдвиг: перемещение соответственно вверх или налево и вниз или вправо после нажатия кнопки полосы прокрутки или клавиши со стрелкой.
scPageUp, scPageDown «Большой» сдвиг: перемещение на страницу щелчком рядом с бегунком или нажатием клавиш PageUpили PogeDown.
scPosition Пользователь переместил и освободил бегунок.
scTrack Пользователь перемещает бегунок.
scTop, scBottom Бегунок перемещен соответственно в крайнюю верхнюю или левую позицию и в крайнюю нижнюю или правую позицию.
scEndScroll Окончание перемещения.
В обработке события ScrollPos можно поместить операторы, перемещающие требуемую область формы или компонент, а можно поместить операторы, которые управляют некоторым компонентом, используя значение позиции бегунка ScrollPos.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий