You've already forked lazarus-ccr
industrial: Add MultiSlider component.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6850 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
180
components/industrialstuff/Example/MultiSliderSample/main.pas
Normal file
180
components/industrialstuff/Example/MultiSliderSample/main.pas
Normal file
@@ -0,0 +1,180 @@
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user