
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5596 8e941d3f-bd1b-0410-a28a-d453659cc2b4
73 lines
1.8 KiB
ObjectPascal
73 lines
1.8 KiB
ObjectPascal
unit mbOfficeColorDialog;
|
|
|
|
{$MODE DELPHI}
|
|
|
|
interface
|
|
|
|
uses
|
|
LCLIntf, LCLType,
|
|
SysUtils, Classes, Graphics, Forms, OfficeMoreColorsDialog;
|
|
|
|
type
|
|
TmbOfficeColorDialog = class(TComponent)
|
|
private
|
|
FWin: TOfficeMoreColorsWin;
|
|
FSelColor: TColor;
|
|
FUseHint: boolean;
|
|
FMaxHue, FMaxSat, FMaxLum: Integer;
|
|
FPickerIndex: Integer;
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
function Execute: boolean; overload;
|
|
function Execute(AColor: TColor): boolean; overload;
|
|
published
|
|
property SelectedColor: TColor read FSelColor write FSelColor default clWhite;
|
|
property MaxHue: Integer read FMaxHue write FMaxHue default 360;
|
|
property MaxSaturation: Integer read FMaxSat write FMaxSat default 255;
|
|
property MaxLuminance: Integer read FMaxLum write FMaxLum default 255;
|
|
property UseHints: boolean read FUseHint write FUseHint default false;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{ TmbOfficeColorDialog }
|
|
|
|
constructor TmbOfficeColorDialog.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
FSelColor := clWhite;
|
|
FUseHint := false;
|
|
FMaxHue := 360;
|
|
FMaxSat := 255;
|
|
FMaxLum := 255;
|
|
end;
|
|
|
|
function TmbOfficeColorDialog.Execute: boolean;
|
|
begin
|
|
Result := Execute(FSelColor);
|
|
end;
|
|
|
|
function TmbOfficeColorDialog.Execute(AColor: TColor): boolean;
|
|
begin
|
|
FWin := TOfficeMoreColorsWin.Create(Application);
|
|
try
|
|
FWin.ShowHint := FUseHint;
|
|
FWin.MaxHue := FMaxHue;
|
|
FWin.MaxSaturation := FMaxSat;
|
|
FWin.MaxLuminance := FMaxLum;
|
|
FWin.PickerIndex := FPickerIndex;
|
|
// FWin.OldSwatch.Color := AColor;
|
|
FWin.SelectedColor := AColor;
|
|
Result := (FWin.ShowModal = IdOK);
|
|
if Result then
|
|
FSelColor := FWin.SelectedColor //FWin.NewSwatch.Color
|
|
else
|
|
FSelColor := clNone;
|
|
FPickerIndex := FWin.PickerIndex;
|
|
finally
|
|
FWin.Free;
|
|
end;
|
|
end;
|
|
|
|
end.
|