
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6850 8e941d3f-bd1b-0410-a28a-d453659cc2b4
181 lines
4.6 KiB
ObjectPascal
181 lines
4.6 KiB
ObjectPascal
unit main;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ColorBox,
|
|
Spin, ExtCtrls, switches, indSliders;
|
|
|
|
type
|
|
|
|
{ TForm1 }
|
|
|
|
TForm1 = class(TForm)
|
|
cbSliderColor: TColorButton;
|
|
cbVertical: TCheckBox;
|
|
cbAutoRotate: TCheckBox;
|
|
cbColorBelow: TColorButton;
|
|
cbColorBetween: TColorButton;
|
|
cbColorAbove: TColorButton;
|
|
cbFlat: TCheckBox;
|
|
cbEnabled: TCheckBox;
|
|
cbTransparent: TCheckBox;
|
|
cbFormColor: TColorButton;
|
|
cmbThumbStyle: TComboBox;
|
|
cbColorThumb: TColorButton;
|
|
cmbSliderMode: TComboBox;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
Label3: TLabel;
|
|
Label4: TLabel;
|
|
Label5: TLabel;
|
|
seTrackThickness: TSpinEdit;
|
|
seDefaultSize: TSpinEdit;
|
|
procedure cbAutoRotateChange(Sender: TObject);
|
|
procedure cbColorAboveColorChanged(Sender: TObject);
|
|
procedure cbColorBelowColorChanged(Sender: TObject);
|
|
procedure cbColorBetweenColorChanged(Sender: TObject);
|
|
procedure cbColorThumbColorChanged(Sender: TObject);
|
|
procedure cbEnabledChange(Sender: TObject);
|
|
procedure cbFlatChange(Sender: TObject);
|
|
procedure cbSliderColorColorChanged(Sender: TObject);
|
|
procedure cmbSliderModeChange(Sender: TObject);
|
|
procedure cmbThumbStyleChange(Sender: TObject);
|
|
procedure cbTransparentChange(Sender: TObject);
|
|
procedure cbVerticalChange(Sender: TObject);
|
|
procedure cbFormColorColorChanged(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure seDefaultSizeChange(Sender: TObject);
|
|
procedure seTrackThicknessChange(Sender: TObject);
|
|
private
|
|
slider: TMultiSlider;
|
|
procedure PositionChangeHandler(Sender: TObject; AKind: TThumbKind; AValue: Integer);
|
|
|
|
public
|
|
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TForm1 }
|
|
|
|
procedure TForm1.FormCreate(Sender: TObject);
|
|
begin
|
|
slider := TMultiSlider.Create(self);
|
|
slider.Parent := self;
|
|
slider.Align := alTop;
|
|
slider.BorderSpacing.Around := 8;
|
|
// slider.Left := 8;
|
|
// slider.Top := 8;
|
|
slider.Vertical := false;
|
|
slider.OnPositionChange := @PositionChangeHandler;
|
|
|
|
cbColorBelow.ButtonColor := slider.ColorBelow;
|
|
cbColorAbove.ButtonColor := slider.ColorAbove;
|
|
cbColorBetween.ButtonColor := slider.ColorBetween;
|
|
cbColorThumb.ButtonColor := slider.ColorThumb;
|
|
cbSliderColor.ButtonColor := slider.Color;
|
|
cbFormColor.ButtonColor := Color;
|
|
cbTransparent.Checked := slider.Color = clNone;
|
|
seTrackThickness.Value := slider.TrackThickness;
|
|
seDefaultSize.Value := slider.DefaultSize;
|
|
cmbSliderMode.ItemIndex := ord(slider.SliderMode);
|
|
end;
|
|
|
|
procedure TForm1.seDefaultSizeChange(Sender: TObject);
|
|
begin
|
|
slider.DefaultSize := seDefaultSize.Value;
|
|
end;
|
|
|
|
procedure TForm1.seTrackThicknessChange(Sender: TObject);
|
|
begin
|
|
slider.TrackThickness := seTrackThickness.Value;
|
|
end;
|
|
|
|
procedure TForm1.cbVerticalChange(Sender: TObject);
|
|
begin
|
|
slider.Vertical := cbVertical.Checked;
|
|
if slider.Vertical then slider.Align := alLeft else slider.Align := alTop;
|
|
end;
|
|
|
|
procedure TForm1.cbFormColorColorChanged(Sender: TObject);
|
|
begin
|
|
Color := cbFormColor.ButtonColor;
|
|
end;
|
|
|
|
procedure TForm1.cbColorThumbColorChanged(Sender: TObject);
|
|
begin
|
|
slider.ColorThumb := cbColorThumb.ButtonColor;
|
|
end;
|
|
|
|
procedure TForm1.cbAutoRotateChange(Sender: TObject);
|
|
begin
|
|
slider.AutoRotate := cbAutoRotate.Checked;
|
|
end;
|
|
|
|
procedure TForm1.cbColorAboveColorChanged(Sender: TObject);
|
|
begin
|
|
slider.ColorAbove := cbColorAbove.ButtonColor;
|
|
end;
|
|
|
|
procedure TForm1.cbColorBelowColorChanged(Sender: TObject);
|
|
begin
|
|
slider.ColorBelow := cbColorBelow.ButtonColor;
|
|
end;
|
|
|
|
procedure TForm1.cbColorBetweenColorChanged(Sender: TObject);
|
|
begin
|
|
slider.ColorBetween := cbColorBetween.ButtonColor;
|
|
end;
|
|
|
|
procedure TForm1.cbSliderColorColorChanged(Sender: TObject);
|
|
begin
|
|
slider.Color := cbSliderColor.ButtonColor;
|
|
end;
|
|
|
|
procedure TForm1.cmbSliderModeChange(Sender: TObject);
|
|
begin
|
|
slider.SliderMode := TSliderMode(cmbSliderMode.ItemIndex);
|
|
end;
|
|
|
|
procedure TForm1.cbEnabledChange(Sender: TObject);
|
|
begin
|
|
slider.Enabled := cbEnabled.Checked;
|
|
end;
|
|
|
|
procedure TForm1.cbFlatChange(Sender: TObject);
|
|
begin
|
|
slider.Flat := cbFlat.Checked;
|
|
end;
|
|
|
|
procedure TForm1.cmbThumbStyleChange(Sender: TObject);
|
|
begin
|
|
slider.ThumbStyle := TThumbStyle(cmbThumbStyle.ItemIndex);
|
|
end;
|
|
|
|
procedure TForm1.cbTransparentChange(Sender: TObject);
|
|
begin
|
|
if cbTransparent.Checked then
|
|
slider.Color := clNone;
|
|
end;
|
|
|
|
procedure TForm1.PositionChangeHandler(Sender: TObject; AKind: TThumbKind;
|
|
AValue: Integer);
|
|
begin
|
|
case AKind of
|
|
tkMin: Label1.Caption := 'Min = ' + intToStr(AValue);
|
|
tkValue: Label2.Caption := 'Value = ' + IntToStr(AValue);
|
|
tkMax: Label3.Caption := 'Max = ' + IntToStr(AValue);
|
|
end;
|
|
end;
|
|
|
|
end.
|
|
|