На этом шаге мы рассмотрим компонент TTrackBar.
Компонент TTrackBar (Регулятор) обычно применяется там, где надо в визуальном режиме выставить с помощью мыши какое-либо приближенное значение, что выполняется перетаскиванием бегунка по шкале. В старых версиях Windows для этого использовались компоненты, например полосы прокрутки. Бегунок стал стандартным элементом управления в 32-разрядных версиях Windows.
Основные свойства регулятора приведены в таблице.
Свойство | Описание |
---|---|
property Frequency: Integer; | Определяет частоту нанесения меток: 1 - каждое значение диапазона изменения имеет метку: 2 - каждое 2-е значение имеет метку и т.д. |
property LineSize: Integer; | Определяет минимальное смещение ползунка при нажатии клавиш перемещения курсора или перетаскивании мыши |
property Max: Integer; property Min: Integer; |
Минимальная и максимальная допустимые границы |
type TTrackBarOrientation = (trHorizontal, trVertical); property Orientation: TTrackBarOrientation; |
Ориентация: горизонтальная (значение trHorizontal) или вертикальная (значение trVertical) |
property PageSize: Integer; | Определяет шаг Position при нажатии клавиш <PageUp> или<PageDown> при щелчке на поле регулятора |
property SelStart: Integer; property SelEnd: Integer; |
Начало и конец "оптимального" диапазона в рамках границ min/max по аналогии с приборами управления. Область оптимального диапазона выделяется дополнительными засечками и другим цветом |
type TTickMark = (tmBottomRight, tmTopLeft, tmBoth); property TickMarks: TTickMark; |
Положение засечек. Возможные значения:
|
type TTickStyle = (tsNone, tsAuto, tsManual); property TickStyle: TTickStyle; |
Способ отображения засечек на бегунке. Возможные значения:
|
property ThumbLength: Integer; | Толщина полосы бегунка в пикселях |
property SliderVisible: Boolean; | Видимость |
Основное свойство, определяющее положение бегунка, - это свойство Position. Его значение можно считывать и менять в процессе работы программы. Единственный полезный метод - процедура SetTick программной установи засечек.
procedure SetTick (Value: Integer);
Засечка ставится на шкале бегунка, соответствующей значению Value. При изменениях значения свойства Position генерируется сообщение OnChange.
В небольшой программе показаны взаимозависимые регуляторы. Изменение одного из них мгновенно изменяет состояние другого.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls; type TForm1 = class(TForm) TrackBar1: TTrackBar; TrackBar2: TTrackBar; procedure TrackBar1Change(Sender: TObject); procedure TrackBar2Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.TrackBar1Change(Sender: TObject); begin TrackBar2.Position := TrackBar1.Position; end; procedure TForm1.TrackBar2Change(Sender: TObject); begin TrackBar1.Position := TrackBar2.Position; end; end.
Рис.1. Взаимосвязанные регуляторы
На следующем шаге мы рассмотрим компонент TProgressBar.