ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 65
Скачиваний: 1
-
вертикальная (sbVertical); -
горизонтальная (sbHorizontal).
, расположенной между указателем и кнопкой со стрелкой с каждого конца компонента ScrollBar. Применяется, например, при перемещении на одну страницу и осуществляется по щелчку мыши по поверхности компонента с соответствующей стороны от указателя или после нажатия клавиш PageUp или PageDown.
Событие property OnScroll: TScrollEvent;
TScrollEvent = procedure (Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer) of object;
вызывается после каждого изменения положения бегунка.
Обработчик события OnChange применяется, когда происходит изменение значений Max, Min, Position.
Значение ScrollCode определяет вид перемещения бегунка и имеет следующие параметры:
-
TScrollCode = (scLineUp, scLineDown, scPageUp, scPageDown, scPosition, scTrack, scTop, scBottom, scEndScroll); -
scLineUp, scLineDown - на строку вверх, вниз; -
scPageUp, scPageDown - на страницу вверх, вниз; -
scTrack, scTop - в заданную позицию; -
scTop, scBottom - в крайнее верхнее, нижнее положение; -
ScEndScrol - извещает об окончании процесса прокрутки.
-
Запустите Delphi. -
Сохраните файл модуля под именем ScrollB_.pas, а файл проекта - под именем ScrollB.dpr. -
Поместите на форму компоненты ScrollBar1, ScrollBar2, ScrollBar3 со страницы Standard палитры компонентов. Свойство Kind для данных компонентов оставьте, принятое по умолчанию sbHorizontal. Используя свойство Name, измените имена, принятые по умолчанию для компонентов ScrollBar на ScrollBarRed, ScrollBarGreen, ScrollBarBlue соответственно. -
Установите значение свойства Min для этих компонентов, равным 0, а значение свойства Max - равным 255. -
Поместите на форму компонент Shape1 со страницы Additional, установите для него свойство Shape равным stEllipse. Поместите на форму компонент Shape2, установите для него свойство Shape в инспекторе объекта на StRoundRect. -
Поместите компоненты Label1, Label2, Label3 на форму и, используя свойство Name, измените их имена на LabelRed, LabelGreen, LabelBlue соответственно. -
Поместите на форму компоненты TrackBar1, TrackBar2, TrackBar3 со страницы Win32 палитры компонентов. -
Поместите на форму компоненты Label3, Label4, Label5. Используя свойство Name, измените имена на LabelScrollRed, LabelScrollGreen, LabelScrollBlue соответственно.
procedure TForm1.ScrollBarRedScroll(Sender: TObject;ScrollCode: TScrollCode; var ScrollPos: Integer);begin{Свойство Position (положение) говорит о том, как позиционированалинейка прокрутки в данный момент времени. Это свойство содержитцелую величину. Вы можете манипулировать этим свойством из программы, если вам нужно динамически изменять положение линейки прокрутки.}LabelRed.Caption := ' Значение красного цвета: ' + IntToStr (ScrollPos);Shape1.Brush.Color := RGB (ScrollBarRed.Position,ScrollBarGreen.Position, ScrollBarBlue.Position);Shape2.Pen.Color := RGB (ScrollBarRed.Position,ScrollBarGreen.Position, ScrollBarBlue.Position);end;procedure TForm1.ScrollBarGreenScroll(Sender: TObject;ScrollCode: TScrollCode; var ScrollPos: Integer);beginLabelGreen.Caption := 'Значение зеленого цвета: ' + IntToStr(ScrollPos);Shape1.Brush.Color := RGB (ScrollBarRed.Position,ScrollBarGreen.Position, ScrollBarBlue.Position);Shape2.Pen.Color := RGB (ScrollBarRed.Position,ScrollBarGreen.Position, ScrollBarBlue.Position);end;procedure TForm1.ScrollBarBlueScroll(Sender: TObject;ScrollCode: TScrollCode; var ScrollPos: Integer);beginLabelBlue.Caption := 'Значение голубого цвета: ' + IntToStr(ScrollPos);Shape1.Brush.Color := RGB (ScrollBarRed.Position,ScrollBarGreen.Position, ScrollBarBlue.Position);Shape2.Pen.Color := RGB (ScrollBarRed.Position,ScrollBarGreen.Position, ScrollBarBlue.Position);Shape2.Pen.Width:=5;end;procedure TForm1.TrackBar1 Change(Sender: TObject);beginLabelScrollRed.Caption := 'Значение LargeChangeRed ' +IntToStr(TrackBar1.Position);ScrollBarRed.LargeChange := TrackBar1.Position;end;procedure TForm1.TrackBar2 Change(Sender: TObject);beginLabelScrollGreen.Caption:='Значение LargeChangeGreen' +IntToStr(TrackBar2.Position);ScrollBarGreen.LargeChange := TrackBar2.Position;end;procedure TForm1.TrackBar3 Change(Sender: TObject);beginLabelScrollBlue.Caption := 'Значение LargeChangeBlue ' +IntToStr(TrackBar3.Position);ScrollBarBlue.LargeChange := TrackBar3.Position;end;end.Результат работы программы Scroll показан на рисунке 6.ScrollBar — это полоса с ползунком, перемещая который можно задавать целые значения в диапазоне от минимально заданного до максимального.Сама полоса прокрутки имеет вид:Минимальное значение задаётся свойством «Min», а максимальное — свойством «Max».Текущее положение ползунка отражается в свойстве «Position».Свойство «Kind» определяет, будет ли компонент расположен горизонтально или вертикально.Свойство «PageSize» определяет размер ползунка (0-квадратный, 1 — прямоугольный).
Свойство «SmallChange» определяют шаг сдвига ползунка при клике на кнопке в конце и начале полосы прокрутки или при нажатии на клавиши со стрелкой.Свойство «LargeChange» определяют шаг сдвига при клике рядом с бегунком или при нажатии клавиш PageUp или PageDown.Создадим следующую форму :Установим следующие свойства: «Min=0» и «Max=255».Для каждого ползунка напишем обработчик события «onChange»:procedure TForm1.ScrollBar1Change(Sender: TObject);beginself.Panel1.Color:=rgb(ScrollBar1.Position,ScrollBar2.Position,ScrollBar3.Position,);self.Label1.Caption:=intToStr(ScrollBar1.Position);end;procedure TForm1.ScrollBar2Change(Sender: TObject);beginself.Panel1.Color:=rgb(ScrollBar1.Position,ScrollBar2.Position,ScrollBar3.Position,);self.Label2.Caption:=intToStr(ScrollBar2.Position);end;procedure TForm1.ScrollBar3Change(Sender: TObject);beginself.Panel1.Color:=rgb(ScrollBar1.Position,ScrollBar2.Position,ScrollBar3.Position,);self.Label3.Caption:=intToStr(ScrollBar3.Position);end;Запустив программу и максимально сдвинув ползунок вправо, получим:Посмотрим, как работает программа на следующем примере (указатель мыши изменён на двунаправленную стрелку):