Files
lazarus-ccr/components/mbColorLib/Demo/main.pas

382 lines
11 KiB
ObjectPascal
Raw Normal View History

unit main;
interface
uses
LCLIntf, LCLType, LMessages, SysUtils, Variants,Classes, Graphics, Controls,
Forms, Dialogs, HSLColorPicker, ComCtrls, StdCtrls, mbColorPreview,
HexaColorPicker, mbColorPalette, HSLRingPicker, HSVColorPicker, PalUtils,
SLHColorPicker, mbDeskPickerButton, mbOfficeColorDialog, SColorPicker,
HColorPicker, VColorPicker, mbTrackBarPicker, LColorPicker, HRingPicker,
SLColorPicker, HSColorPicker, IniFiles, mbColorPickerControl,
BColorPicker, GColorPicker, RColorPicker, KColorPicker, YColorPicker,
MColorPicker, CColorPicker, CIEBColorPicker, CIEAColorPicker, Typinfo,
CIELColorPicker, BAxisColorPicker, GAxisColorPicker, RAxisColorPicker,
mbColorTree, mbColorList {for internet shortcuts};
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
HSLColorPicker1: THSLColorPicker;
sc: TmbColorPreview;
uc: TmbColorPreview;
Label1: TLabel;
tb1: TTrackBar;
tb2: TTrackBar;
Label2: TLabel;
HexaColorPicker1: THexaColorPicker;
mbColorPalette1: TmbColorPalette;
Button1: TButton;
Button2: TButton;
HSLRingPicker1: THSLRingPicker;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
HSVColorPicker1: THSVColorPicker;
SLHColorPicker1: TSLHColorPicker;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
mbDeskPickerButton1: TmbDeskPickerButton;
mbOfficeColorDialog1: TmbOfficeColorDialog;
Button3: TButton;
LColorPicker1: TLColorPicker;
VColorPicker1: TVColorPicker;
HColorPicker1: THColorPicker;
SColorPicker1: TSColorPicker;
HSColorPicker1: THSColorPicker;
SLColorPicker1: TSLColorPicker;
HRingPicker1: THRingPicker;
VColorPicker2: TVColorPicker;
CheckBox1: TCheckBox;
ComboBox1: TComboBox;
Label4: TLabel;
CheckBox2: TCheckBox;
Label5: TLabel;
Button4: TButton;
OpenDialog1: TOpenDialog;
ScrollBox1: TScrollBox;
Label3: TLabel;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
Label6: TLabel;
ComboBox4: TComboBox;
Label7: TLabel;
UpDown1: TUpDown;
TabSheet9: TTabSheet;
CColorPicker1: TCColorPicker;
MColorPicker1: TMColorPicker;
YColorPicker1: TYColorPicker;
KColorPicker1: TKColorPicker;
Label8: TLabel;
RColorPicker1: TRColorPicker;
GColorPicker1: TGColorPicker;
BColorPicker1: TBColorPicker;
KColorPicker2: TKColorPicker;
MColorPicker2: TMColorPicker;
CColorPicker2: TCColorPicker;
YColorPicker2: TYColorPicker;
TabSheet10: TTabSheet;
RAxisColorPicker1: TRAxisColorPicker;
GAxisColorPicker1: TGAxisColorPicker;
BAxisColorPicker1: TBAxisColorPicker;
CIELColorPicker1: TCIELColorPicker;
CIEAColorPicker1: TCIEAColorPicker;
CIEBColorPicker1: TCIEBColorPicker;
CheckBox3: TCheckBox;
TabSheet11: TTabSheet;
mbColorList1: TmbColorList;
mbColorTree1: TmbColorTree;
Button5: TButton;
Memo1: TMemo;
Label9: TLabel;
CheckBox4: TCheckBox;
procedure tb1Change(Sender: TObject);
procedure tb2Change(Sender: TObject);
procedure HSLColorPicker1Change(Sender: TObject);
procedure HSLColorPicker1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure HexaColorPicker1Change(Sender: TObject);
procedure HexaColorPicker1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure mbColorPalette1SelColorChange(Sender: TObject);
procedure mbColorPalette1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure HSLRingPicker1Change(Sender: TObject);
procedure HSLRingPicker1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure HSVColorPicker1Change(Sender: TObject);
procedure HSVColorPicker1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SLHColorPicker1Change(Sender: TObject);
procedure SLHColorPicker1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure mbDeskPickerButton1SelColorChange(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure HSColorPicker1Change(Sender: TObject);
procedure HSColorPicker1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SLColorPicker1Change(Sender: TObject);
procedure SLColorPicker1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure HRingPicker1Change(Sender: TObject);
procedure HRingPicker1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure VColorPicker2Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure UpDown1Changing(Sender: TObject; var AllowChange: Boolean);
procedure CheckBox3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{$R mxico.res} //MXS icon resource file, for internet shortcut only
procedure TForm1.tb1Change(Sender: TObject);
begin
sc.opacity := tb1.position;
end;
procedure TForm1.tb2Change(Sender: TObject);
begin
uc.opacity := tb2.position;
end;
procedure TForm1.HSLColorPicker1Change(Sender: TObject);
begin
sc.color := HSLColorPicker1.SelectedColor;
end;
procedure TForm1.HSLColorPicker1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
uc.color := HSLColorPicker1.ColorUnderCursor;
end;
procedure TForm1.HexaColorPicker1Change(Sender: TObject);
begin
sc.color := hexacolorpicker1.selectedcolor;
end;
procedure TForm1.HexaColorPicker1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
uc.color := hexacolorpicker1.ColorUnderCursor;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
mbColorPalette1.GeneratePalette(clblue);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
mbColorpalette1.GenerateGradientPalette([clblue, clred]);
end;
procedure TForm1.mbColorPalette1SelColorChange(Sender: TObject);
begin
sc.color := mbcolorpalette1.selectedcolor;
end;
procedure TForm1.mbColorPalette1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
uc.color := mbcolorpalette1.ColorUnderCursor;
end;
procedure TForm1.HSLRingPicker1Change(Sender: TObject);
begin
sc.color := HSLRingPicker1.SelectedColor;
end;
procedure TForm1.HSLRingPicker1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
uc.color := HSLRingPicker1.ColorUnderCursor;
end;
procedure TForm1.HSVColorPicker1Change(Sender: TObject);
begin
sc.color := HSVColorPicker1.SelectedColor;
VColorPicker2.Saturation := HSVColorPicker1.Saturation;
VColorPicker2.Hue := HSVColorPicker1.Hue;
end;
procedure TForm1.HSVColorPicker1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
uc.Color := HSVColorPicker1.ColorUnderCursor;
end;
procedure TForm1.SLHColorPicker1Change(Sender: TObject);
begin
sc.color := SLHColorPicker1.SelectedColor;
end;
procedure TForm1.SLHColorPicker1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
uc.color := SLHColorPicker1.ColorUnderCursor;
end;
procedure TForm1.mbDeskPickerButton1SelColorChange(Sender: TObject);
begin
sc.color := mbDeskPickerButton1.SelectedColor;
uc.color := mbDeskPickerButton1.SelectedColor;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if mbOfficeColorDialog1.Execute then
sc.color := mbOfficeColorDialog1.SelectedColor;
end;
procedure TForm1.HSColorPicker1Change(Sender: TObject);
begin
sc.color := HSColorPicker1.SelectedColor;
end;
procedure TForm1.HSColorPicker1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
uc.color := HSColorpicker1.ColorUnderCursor;
end;
procedure TForm1.SLColorPicker1Change(Sender: TObject);
begin
sc.color := SLColorPicker1.SelectedColor;
end;
procedure TForm1.SLColorPicker1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
uc.color := slcolorpicker1.ColorUnderCursor;
end;
procedure TForm1.HRingPicker1Change(Sender: TObject);
begin
sc.color := hringpicker1.SelectedColor;
end;
procedure TForm1.HRingPicker1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
uc.color := hringpicker1.ColorUnderCursor;
end;
procedure TForm1.VColorPicker2Change(Sender: TObject);
begin
HSVColorPicker1.Value := VColorPicker2.Value;
end;
// only for internet shortcuts
procedure TForm1.FormCreate(Sender: TObject);
begin
with TIniFile.Create(ExtractFilePath(Application.ExeName) + '\MXS Website.url') do
try
WriteString('InternetShortcut','URL', 'http://mxs.bergsoft.net');
WriteInteger('InternetShortcut','IconIndex', 1);
WriteString('InternetShortcut','IconFile', '"' + Application.ExeName + '"');
finally
Free;
end;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
HexaColorPicker1.SliderVisible := checkbox1.Checked;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
hexacolorpicker1.SliderMarker := TMArker(ComboBox1.ItemIndex);
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
hexacolorpicker1.NewArrowStyle := checkbox2.checked;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if opendialog1.Execute then
mbcolorpalette1.Palette := opendialog1.FileName;
end;
procedure TForm1.ComboBox2Change(Sender: TObject);
begin
mbcolorpalette1.SortOrder := tsortorder(combobox2.itemindex);
end;
procedure TForm1.ComboBox3Change(Sender: TObject);
begin
mbcolorpalette1.Sortmode := tsortmode(combobox3.ItemIndex);
end;
procedure TForm1.ComboBox4Change(Sender: TObject);
begin
mbcolorpalette1.CellStyle := tcellstyle(combobox4.ItemIndex);
end;
procedure TForm1.UpDown1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
allowchange := true;
mbcolorpalette1.CellSize := abs(updown1.Position);
end;
procedure TForm1.CheckBox3Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to ComponentCount - 1 do
if IsPublishedProp(components[i], 'WebSafe') = true then
SetOrdProp(components[i], 'WebSafe', integer(checkbox3.checked));
end;
procedure TForm1.Button5Click(Sender: TObject);
var
i: integer;
begin
mbcolortree1.ClearColors;
mbcolorlist1.ClearColors;
for i := 0 to mbcolorpalette1.Colors.Count - 1 do
begin
mbcolortree1.AddColor('Color '+inttostr(i), StringtoColor(mbcolorpalette1.colors.Strings[i]), false);
mbcolorlist1.AddColor('Color '+inttostr(i), StringtoColor(mbcolorpalette1.colors.Strings[i]), false);
end;
mbcolortree1.UpdateColors;
mbcolorlist1.UpdateColors;
end;
procedure TForm1.CheckBox4Click(Sender: TObject);
begin
sc.swatchstyle := checkbox4.Checked;
uc.swatchstyle := checkbox4.checked;
end;
end.