Компонент delphi TrackBar представляет собой визуальный элемент управления в виде ползунка, который можно перемещать клавишами или курсором мыши во время выполнения. Таким образом, пользователь может управлять какими-либо процессами: громкость звука, размером изображения и д.р. Ползунок может располагаться как вертикально, так и горизонтально, иметь шкалу с разных сторон и выделенный диапазон этой шкалы(рис 1).
Основное свойство это Position. Которое можно задать во время проектирования или программно во время выполнения приложения. При перемещении ползунка можно прочитать значении Position, которое характеризует позицию, в которую перемещен ползунок. Для этой возможности служит событие OnChange. В обработчике которого можно прочитать значение Position и использовать это значение для управления каким-то компонентом.
Свойства TrackBar
Position | целое значение, которое изменяется в пределах, задаваемые свойствами Min и Max. По умолчанию это 0 и 10 соответственно. Если задать больше значение Max, то увеличится кол-во возможных значений Position. |
Orientation | определяет ориентацию ползунка горизонтальная или вертикальная |
TickMarks | определяет размещение шкалы относительно компонента сверху или снизу если компонент расположен горизонтально и справа или слева если компонент расположен по вертикали либо с обоих сторон |
TickStyle | указывает способ изображения шкалы. Может принимать значения: tsAuto — автоматическая прорисовка шкалы, tsManual – программное рисование шкалыс помощью метода SetTick, который помещает метку шкалы в позицию, соответствующую значению Value |
Frequency | частота меток шкалы если свойство TickStyle равно tsAuto |
LineSize | определяет насколько смещается ползунок при перемещении стрелками |
PageSize | определяет насколько смещается ползунок при перемещении клавишами PageUp и PageDawn |
SelStart и SelEnd | позволяет визуально выделить на шкале некоторый диапазон (средний компонент на рисунке 1) |
ThumbLength | Толщина полосы бегунка в пикселях |
На примере рассмотрим, как с помощью ползунка можно менять размер кнопки
1 2 3 4 | procedure TForm14.TrackBar2Change(Sender: TObject); begin button1.Width:=TrackBar2.Position*10; end; |