Полосы прокрутки на формах не следует путать с полосками прокрутки , которые автоматически вставляются в большие текстовые поля или списки. Элемент полосы прокрутки представляет собой совершенно независимый объект , не привязанный к другим элементам. Горизонтальная и вертикальная полосы прокрутки ничем не отличаются друг от друга., кроме ориентации. Оба элемента обладают одинаковыми свойствами , событиями и методами. Полосы прокрутки обычно применяются для увеличения или уменьшения некоторого значения .Например, таким образом можно изменять цвета, числа или громкость звука на устройствах мультимедиа.
Основные свойства полос прокрутки:
Свойство Position - целое, значение которого может изменяться в пределах, задаваемых свойствами Min и Max. По умолчанию Min= 0, Max = 100, так что Position может принимать значения - от 0 до 100. Если задать большее или меньшее значение Max, соответственно увеличится или уменьшится количество возможных значений Positionв диапазоне Min - Max. . Это свойство отражает положение бегунка и может задаваться как во время проектирования , так и программно во время выполнения.
СвойствоKind,определяет горизонтальное или вертикальное расположение полосы и принимает соответственно значения sbHorizontal или sbVertical.
СвойствоSmallChange ,определяет шаг изменения свойстваPosition,когда пользователь щелкнет мышкой по одной из стрелок на концах прокрутки.
СвойствоLargeChange,определяет шаг изменения свойстваPosition,когда пользователь щелкнет мышкой по бегунку прокрутки.
Значения свойств Position, SmallChange и LargeChangeдолжны принадлежать диапазону , определяемому свойствами Min - Max.
События полос прокрутки:
OnChange –происходит при изменении свойства Positionво время выполнения программы .
OnScroll.- генерируется во время перетаскивания бегунка.
Программный код приложения, характеризующего основные свойства компонента ScrollBarпоказан на рисунке 5.18 Для реализации интерфейса этого приложения на форме необходимо расположить три однострочный реактора(Edit), четыре метки(Label), две радио кнопки(RadioButton ) и компонент ScrollBar.Свойства элементов, установленные во время проектирования , показаны в таблице 5.10.
Таблице 5.10
Компонент
Свойство
Значение
Форма
Caption
Свойства компонента ScrollBar
Метки
Name
Label1
Caption
Color
clHighlightText
Name
Label2
Caption
Color
clHighlightText
Caption
SmallChange(Label3)
Caption
Position(Label4)
Радио кнопки
Caption
SmallChange=5 (RadioButton1)
Caption
SmallChange=10 (RadioButton2)
Окна редактирования
Name
Edit1
Name
Edit2
Name
Edit3
Другие свойства компонентов принимаются по умолчанию.
//Программный код приложения, характеризующего основные свойства компонента ScrollBar
Рис.5.18 Программный код приложения, характеризующего основные свойства компонента ScrollBar
В этом приложении свойство PositionкомпонентаScrollBar установлено в диапазоне Min=0 - Max=100 ,и при изменении положения бегунка отображается в свойстве Caption метки Label1. СвойствоSmallChange ,определяющее шаг изменения свойстваPositionпри щелчке мышкой по одной из стрелок на концах прокрутки, изменяется с помощью радио кнопок RadioButton1иRadioButton2и регистрируется с помощью метки Label2.Положение бегункакомпонентаScrollBarопределяет интенсивность цвета фона однострочных редакторов Edit1- Edit3.
5.8 Элемент управления CheckBox ( индикатор)
Этот компонент представляет собой элемент управления для выбора одного из двух возможных значений (обычно “Да” или “ Нет”). При каждом щелчке пользователя на индикаторе его состояние изменяется от положения включено (наличие черной галочки в окне индикатора) до положения выключено (пустое окно индикатора). Эти состояния индикатора соответствуют значению свойства AllowGrayed = false (значение по умолчанию). При значении этого свойства = true, индикатору добавляется третье состояние – промежуточное (серое окно индикатора и серая галочка).
Трем состояниям индикатора соответствуют три значения свойства State: cbCheked, cbGrayed, cbUnchecked.
Проверить состояние индикатора можно не только по значению свойства State, но и по значению свойства Checked. Если Checked = true, то индикатор выбран, т.е. State = cbChecked. Если Checked = false,тоState = cbChecked.
Надпись в индикаторе CheckBoxзадается свойством Caption, а ее размещение по отношению к индикатору – свойством Aligment.
Наиболее часто используемым является событие OnClick, возникающее при каждом изменении пользователем состояния индикатора. Это событие можно использовать для обработки результатов изменения. Пример использования индикаторов CheckBox в приложения показан в разделе 5.4 при описании компонента CheckListBox.