ScrollBar (полоса прокрутки) — компонент в виде ползунка, который представляет собой горизонтальную или вертикальную полосу прокрутки. На панели компонентов Standard полоса прокрутки изображена в виде , имя объекта — ScrollBar.
Компонент ScrollBar, помещенный на форму, получает имя ScrollBarN, где N — номер 1, 2, 3… (пример 6.18).
Некоторые свойства компонента ScrollBar приведены в таблице (пример 6.19).
Пример 6.20. Создать проект «Цветовая модель RGB». Создать форму по образцу, разместив на ней компоненты Panel, ScrollBar, BitBtn. Цвета панелей меняются в зависимости от значений, определяемых положением бегунка на соответствующей полосе прокрутки.
Этапы выполнения задания
- Поместить на форму четыре панели (компонент Panel) и три полосы прокрутки. Компонент Panel является компонентом-контейнером. На нем можно размещать другие компоненты. Обладает свойством Color.
- Установить для компонентов ScrollBar следующие свойства: Kind — SbVertical, Max — 255, Position — 255.
- Закрасить панели красным, зеленым, синим и белым цветами соответственно. Три панели должны изменять цвет только по составляющим RGB: красный, зеленый и синий, а четвертая панель окрашивается в цвет, получающийся из трех составляющих.
- Написать обработчики событий OnChange для каждой полосы прокрутки. При изменении положения бегунка полосы прокрутки должен измениться цвет двух панелей: составляющей одного из цветов и панели с цветом RGB.
- Для задания цвета можно использовать функцию RGB. Эта функция зависит от трех параметров — числовых значений, составляющих цвет в палитре RGB. Функция возвращает числовое значение. Для использования этого числа в качестве цвета, его нужно преобразовать к типу TColor.
|
Пример 6.18. Компоненты ScrollBar (полоса прокрутки) на форме:
Пример 6.19. Свойства компонента ScrollBar:
Свойство
|
Назначение
|
Position
|
Определяет место положение бегунка, которое может изменяться в пределах значений, задаваемые свойствами Min и Мах
|
Max
|
Максимальное значение для полосы прокрутки
|
Min
|
Минимальное значение для полосы прокрутки
|
Kind
|
Тип полосы прокрутки: sbHorizontal — горизонтальная, sbVertical - вертикальная
|
SmallChange
|
Определяют размер сдвига при клике на кнопки в конце и начале полосы прокрутки или нажатием клавиши со стрелкой
|
Пример 6.20. Форма на этапе конструирования:
Обработчик события OnChange для ScrollBar1.
void __fastcall TForm1::ScrollBar1Change (TObject *Sender)
{
Panel1 -> Color = (TColor)
RGB(ScrollBar1 -> Position, 0, 0);
Panel4 -> Color = (TColor)
RGB(ScrollBar1 -> Position,
ScrollBar2 -> Position,
ScrollBar3 -> Position);
}
|
Работающее приложение:
|