advgradient.pas
来自「delphi 第三方控件很出色,表格制作的」· PAS 代码 · 共 86 行
PAS
86 行
unit AdvGradient;
{$I TMSDEFS.INC}
interface
uses
Classes, Graphics;
type
TGradientStyle = class(TPersistent)
private
FColorTo: TColor;
FColorFrom: TColor;
FBorderColor: TColor;
FOnChange: TNotifyEvent;
FDirection: Boolean;
procedure SetBorderColor(const Value: TColor);
procedure SetColorFrom(const Value: TColor);
procedure SetColorTo(const Value: TColor);
protected
procedure Changed;
public
constructor Create;
procedure Assign(Source: TPersistent); override;
published
property BorderColor: TColor read FBorderColor write SetBorderColor;
property ColorFrom: TColor read FColorFrom write SetColorFrom;
property ColorTo: TColor read FColorTo write SetColorTo;
property Direction: Boolean read FDirection write FDirection;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
end;
implementation
{ TGradientStyle }
procedure TGradientStyle.Assign(Source: TPersistent);
begin
if not (Source is TGradientStyle) then
Exit;
FBorderColor := (Source as TGradientStyle).BorderColor;
FColorTo := (Source as TGradientStyle).ColorTo;
FColorFrom := (Source as TGradientStyle).ColorFrom;
Changed;
end;
procedure TGradientStyle.Changed;
begin
if Assigned(FOnChange) then
FOnChange(Self);
end;
constructor TGradientStyle.Create;
begin
{$IFDEF TMSDOTNET}
inherited;
{$ENDIF}
FColorFrom := clHighLight;
FColorTo := clNone;
FBorderColor := clHighLight;
end;
procedure TGradientStyle.SetBorderColor(const Value: TColor);
begin
FBorderColor := Value;
Changed;
end;
procedure TGradientStyle.SetColorFrom(const Value: TColor);
begin
FColorFrom := Value;
Changed;
end;
procedure TGradientStyle.SetColorTo(const Value: TColor);
begin
FColorTo := Value;
Changed;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?