You've already forked lazarus-ccr
mbColorLib: Delphi support removed. Change version number to 2.1 (standard even/odd numbering scheme).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5549 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@@ -1,46 +1,41 @@
|
||||
unit mbDeskPickerButton;
|
||||
|
||||
{$IFDEF FPC}
|
||||
{$MODE DELPHI}
|
||||
{$ENDIF}
|
||||
{$MODE DELPHI}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF FPC}
|
||||
LCLIntf, LCLType,
|
||||
{$ELSE}
|
||||
Windows,
|
||||
{$ENDIF}
|
||||
SysUtils, Classes, Controls, StdCtrls, Graphics, Forms, ScreenWin;
|
||||
LCLIntf, LCLType, SysUtils, Classes, Controls, StdCtrls, Graphics, Forms, ScreenWin;
|
||||
|
||||
type
|
||||
TmbDeskPickerButton = class(TButton)
|
||||
private
|
||||
FSelColor: TColor;
|
||||
ScreenFrm: TScreenForm;
|
||||
FOnColorPicked: TNotifyEvent;
|
||||
FOnKeyDown: TKeyEvent;
|
||||
FHintFmt: string;
|
||||
FShowScreenHint: boolean;
|
||||
OnWUp, OnWDown: TMouseWheelUpDownEvent;
|
||||
FHintFmt: string;
|
||||
FSelColor: TColor;
|
||||
FScreenFrm: TScreenForm;
|
||||
FShowScreenHint: boolean;
|
||||
FOnWheelUp, FOnWheelDown: TMouseWheelUpDownEvent;
|
||||
FOnColorPicked: TNotifyEvent;
|
||||
FOnKeyDown: TKeyEvent;
|
||||
protected
|
||||
procedure StartPicking;
|
||||
procedure ColorPicked(Sender: TObject);
|
||||
procedure ScreenKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure WheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
|
||||
procedure WheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
|
||||
procedure ColorPicked(Sender: TObject);
|
||||
procedure ScreenKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure StartPicking;
|
||||
procedure WheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint;
|
||||
var Handled: Boolean);
|
||||
procedure WheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint;
|
||||
var Handled: Boolean);
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
procedure Click; override;
|
||||
property SelectedColor: TColor read FSelColor;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
procedure Click; override;
|
||||
property SelectedColor: TColor read FSelColor;
|
||||
published
|
||||
property OnSelColorChange: TNotifyEvent read FOnColorPicked write FOnColorPicked;
|
||||
property OnScreenKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown;
|
||||
property OnSelMouseWheelUp: TMouseWheelUpDownEvent read OnWUp write OnWUp;
|
||||
property OnSelMouseWheelDown: TMouseWheelUpDownEvent read OnWDown write OnWDown;
|
||||
property ScreenHintFormat: string read FHintFmt write FHintFmt;
|
||||
property ShowScreenHint: boolean read FShowScreenHint write FShowScreenHint default false;
|
||||
property ScreenHintFormat: string read FHintFmt write FHintFmt;
|
||||
property ShowScreenHint: boolean read FShowScreenHint write FShowScreenHint default false;
|
||||
property OnScreenKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown;
|
||||
property OnSelColorChange: TNotifyEvent read FOnColorPicked write FOnColorPicked;
|
||||
property OnSelMouseWheelDown: TMouseWheelUpDownEvent read FOnWheelDown write FOnWheelDown;
|
||||
property OnSelMouseWheelUp: TMouseWheelUpDownEvent read FOnWheelUp write FOnWheelUp;
|
||||
end;
|
||||
|
||||
|
||||
@@ -61,41 +56,47 @@ begin
|
||||
StartPicking;
|
||||
end;
|
||||
|
||||
procedure TmbDeskPickerButton.StartPicking;
|
||||
begin
|
||||
ScreenFrm := TScreenForm.Create(Application);
|
||||
try
|
||||
ScreenFrm.OnSelColorChange := ColorPicked;
|
||||
ScreenFrm.OnScreenKeyDown := ScreenKeyDown;
|
||||
ScreenFrm.OnMouseWheelDown := WheelDown;
|
||||
ScreenFrm.OnMouseWheelUp := WheelUp;
|
||||
ScreenFrm.ShowHint := FShowScreenHint;
|
||||
ScreenFrm.FHintFormat := FHintFmt;
|
||||
ScreenFrm.ShowModal;
|
||||
finally
|
||||
ScreenFrm.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TmbDeskPickerButton.ColorPicked(Sender: TObject);
|
||||
begin
|
||||
FSelColor := ScreenFrm.SelectedColor;
|
||||
if Assigned(FOnColorPicked) then FOnColorPicked(Self);
|
||||
FSelColor := FScreenFrm.SelectedColor;
|
||||
if Assigned(FOnColorPicked) then
|
||||
FOnColorPicked(Self);
|
||||
end;
|
||||
|
||||
procedure TmbDeskPickerButton.StartPicking;
|
||||
begin
|
||||
FScreenFrm := TScreenForm.Create(Application);
|
||||
try
|
||||
FScreenFrm.OnSelColorChange := ColorPicked;
|
||||
FScreenFrm.OnScreenKeyDown := ScreenKeyDown;
|
||||
FScreenFrm.OnMouseWheelDown := WheelDown;
|
||||
FScreenFrm.OnMouseWheelUp := WheelUp;
|
||||
FScreenFrm.ShowHint := FShowScreenHint;
|
||||
FScreenFrm.FHintFormat := FHintFmt;
|
||||
FScreenFrm.ShowModal;
|
||||
finally
|
||||
FScreenFrm.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TmbDeskPickerButton.ScreenKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
if Assigned(FOnKeyDown) then FOnKeyDown(Self, Key, Shift);
|
||||
if Assigned(FOnKeyDown) then
|
||||
FOnKeyDown(Self, Key, Shift);
|
||||
end;
|
||||
|
||||
procedure TmbDeskPickerButton.WheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
|
||||
procedure TmbDeskPickerButton.WheelUp(Sender: TObject; Shift: TShiftState;
|
||||
MousePos: TPoint; var Handled: Boolean);
|
||||
begin
|
||||
if Assigned(OnWUp) then OnWUp(Self, Shift, MousePos, Handled);
|
||||
if Assigned(FOnWheelUp) then
|
||||
FOnWheelUp(Self, Shift, MousePos, Handled);
|
||||
end;
|
||||
|
||||
procedure TmbDeskPickerButton.WheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
|
||||
procedure TmbDeskPickerButton.WheelDown(Sender: TObject; Shift: TShiftState;
|
||||
MousePos: TPoint; var Handled: Boolean);
|
||||
begin
|
||||
if Assigned(OnWDown) then OnWDown(Self, Shift, MousePos, Handled);
|
||||
if Assigned(FOnWheelDown) then
|
||||
FOnWheelDown(Self, Shift, MousePos, Handled);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user