§ 6. Проектирование интерфейса оконного приложения с использованием элементов управления

6.6. Элемент управления ScrollBar (полоса прокрутки)

ScrollBar (полоса прокрутки) — компонент в виде ползунка, который представляет собой горизонтальную или вертикальную полосу прокрутки. На панели компонентов Standard полоса прокрутки изображена в виде , имя объекта — ScrollBar.

Компонент ScrollBar, помещенный на форму, получает имя  ScrollBarN, где N — номер 1, 2, 3… (пример 6.18).

Некоторые свойства компонента ScrollBar приведены в таблице (пример 6.19).

Пример 6.20. Создать проект «Цветовая модель RGB». Создать форму по образцу, разместив на ней компоненты Panel, ScrollBar, BitBtn. Цвета панелей меняются в зависимости от значений, определяемых положением бегунка на соответствующей полосе прокрутки.

Этапы выполнения задания

  1. Поместить на форму четыре панели (компонент Panel) и три полосы прокрутки. Компонент Panel является компонентом-контейнером. На нем можно размещать другие компоненты. Обладает свойством Color.
  2. Установить для компонентов ScrollBar следующие свойства: Kind — SbVertical, Max — 255, Position — 255.
  3. Закрасить панели красным, зеленым, синим и белым цветами соответственно. Три панели должны изменять цвет только по составляющим RGB: красный, зеленый и синий, а четвертая панель окрашивается в цвет, получающийся из трех составляющих.
  4. Написать обработчики событий OnChange для каждой полосы прокрутки. При изменении положения бегунка полосы прокрутки должен измениться цвет двух панелей: составляющей одного из цветов и панели с цветом RGB.
  5. Для задания цвета можно использовать функцию 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, 00);

  Panel4 -> Color = (TColor)

    RGB(ScrollBar1 -> Position,

        ScrollBar2 -> Position,

        ScrollBar3 -> Position);

}

Работающее приложение: