ScrollBar

ScrollBar – это отдельная полоса прокрутки с ползунком. Её согласованная работа с другими компонентами обеспечивается программистом. Для этого  у компонента ScrollBar предусмотрено событие OnScroll, в ответ на которое и нужно выполнять необходимые действия.
Свойство Описание
TScrollBarKind Kind Вид полосы прокрутки: горизонтальная или вертикальная.
TScrollBarInc LargeChange Определяет, на сколько изменится значение Position, когда пользователь нажимает зону прокрутки с любой стороны ползунка или при нажатии PgUp или PgDn.
int Max Определяет максимум  Position.
int Min Определяет минимум  Position.
int Position Указывает текущую позицию Scrollbar.
TScrollBarInc SmallChange Определяет, изменится значение Position, когда потребитель нажимает кнопки со стрелками на ScrollBar  или нажимает стрелки на клавиатуре.
Метод Описание
void SetParams(int APosition, int AMin, int AMax) Устанавливает Position, Max, и Min сразу.
Событие Описание
OnChange Происходит немедленно после того, как величина Position  изменилась.
OnScroll Происходит, когда пользователь перемещает зону прокрутки с мышью или клавиатурой.

ScrollBar(пример-задание)

Создать приложение, демонстрирующее основные приемы работы с ScroolBar : с помощью трёх этих компонентов изменять цвет компонента Panel и её свойства Caption.( См. пример - задание )
Создать новое приложение,  на его форму  поместить компоненты и в инспекторе объектов установить свойства :
Компонент Свойства
Form
Name FormScrollBar
ScrollBar
Name ScrollBarRed
LargeChange 20
Max 255
Min 0
Position 0
ScrollBar
Name ScrollBarGreen
LargeChange 20
Max 255
Min 0
Position 0
Компонент Свойства
ScrollBar
Name ScrollBarBlue
LargeChange 20
Max 255
Min 0
Position 255
Panel
Aling Top
Name Panel1
Panel
Name PanelRed
Panel
Name PanelGreen
Panel
Name PanelBlue

На форме располагаются также комментирующие Label
Смотри пример задания.

В заголовочном файле в раздел private включите прототип :
void :SetColor();

В файл CPP включите следующий код

void TFormScrollBar::SetColor()
{
  unsigned char red = (char) ScrollBarRed -> Position;
  PanelRed->Color = TColor(RGB(red, 0, 0));
  PanelRed->Caption = AnsiString(red);
Установить цвет панели PanelRed в соответствии с позицией ScrollBarRed
  unsigned char green = (char) ScrollBarGreen -> Position;
  PanelGreen->Color = TColor(RGB(0, green, 0));
  PanelGreen->Caption = AnsiString(green);
Установить цвет панели PanelGreen в соответствии с позицией ScrollBarGreen
  PanelBlue->Color = TColor(RGB(0, 0, blue));
  PanelBlue->Caption = AnsiString(blue);
  unsigned char blue = (char) ScrollBarGreen -> Position;
Установить цвет панели PanelBlue в соотвествии с позицией ScrollBarBlue
  TColor color = TColor(RGB(red,green,blue));
  Panel1->Color = color;
Смешать установленные цвета и закрасить Panel1
  int rgb=(int) color;
  AnsiString cap="Цвет панели в формате RGB = ";
Формирование информации на панели
  cap+=IntToHex(rgb,8); Преобразование целого в строку в Hex-формате
  Panel1->Caption = cap;
  Panel1->Font->Color = (TColor)(rgb^0xFFFFFF); Установка цвета надписи инвертированного относительно цвета панели
}  
Для компонента ScrollBarRed ввести код тела функции обработчика событий OnScroll:
void __fastcall TFormScrollBar::ScrollBarRedScroll( TObject *Sender, TScrollCode ScrollCode, int &ScrollPos)
{
  SetColor();
}

Для компонентов ScrollBarGreen и ScrollBarBlue установить функции обработчика событий OnScroll равной ScrollBarRedScroll.
Для компонента TFormScrollBar (формы) ввести код тела функции обработчика событий OnCreate :

void __fastcall TFormScrollBar::FormCreate(TObject *Sender)
{
  SetColor();
}

Запустите компиляцию приложения.

ScrollBar (задание)

Создать приложение, демонстрирующее изменение размеров компонента Shape с помощью двух компонентов ScrollBar.
Примечание:
Компонент Shape расположен на палитре Additional. Размеры Shape определяются свойствами Width и Height, свойство Shape задаёт тип фигуры.

Смотри действующий пример ScrollBar - задание.