⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dxbutton.pas

📁 功能强大的报表生成和管理工具
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  begin
    FBackgroundTo := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxColors.SetBorderEdges
  Author:    mh
  Date:      30-Apr-2002
  Arguments: Value: TColor
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxColors.SetBorderEdges(Value: TColor);
begin
  if Value <> FBorderEdges then
  begin
    FBorderEdges := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxColors.SetBorderLine
  Author:    mh
  Date:      30-Apr-2002
  Arguments: Value: TColor
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxColors.SetBorderLine(Value: TColor);
begin
  if Value <> FBorderLine then
  begin
    FBorderLine := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxColors.SetClickedFrom
  Author:    mh
  Date:      30-Apr-2002
  Arguments: Value: TColor
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxColors.SetClickedFrom(Value: TColor);
begin
  if Value <> FClickedFrom then
  begin
    FClickedFrom := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxColors.SetClickedTo
  Author:    mh
  Date:      30-Apr-2002
  Arguments: Value: TColor
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxColors.SetClickedTo(Value: TColor);
begin
  if Value <> FClickedTo then
  begin
    FClickedTo := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxColors.SetFocusedFrom
  Author:    mh
  Date:      30-Apr-2002
  Arguments: Value: TColor
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxColors.SetFocusedFrom(Value: TColor);
begin
  if Value <> FFocusedFrom then
  begin
    FFocusedFrom := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxColors.SetFocusedTo
  Author:    mh
  Date:      30-Apr-2002
  Arguments: Value: TColor
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxColors.SetFocusedTo(Value: TColor);
begin
  if Value <> FFocusedTo then
  begin
    FFocusedTo := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxColors.SetHighlightFrom
  Author:    mh
  Date:      30-Apr-2002
  Arguments: Value: TColor
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxColors.SetHighlightFrom(Value: TColor);
begin
  if Value <> FHighlightFrom then
  begin
    FHighlightFrom := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxColors.SetHighlightTo
  Author:    mh
  Date:      30-Apr-2002
  Arguments: Value: TColor
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxColors.SetHighlightTo(Value: TColor);
begin
  if Value <> FHighlightTo then
  begin
    FHighlightTo := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxColors.SetHotTrack
  Author:    mh
  Date:      29-Apr-2002
  Arguments: Value: TColor
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxColors.SetHotTrack(Value: TColor);
begin
  if Value <> FHotTrack then
  begin
    FHotTrack := Value;
    TdxButton(FOwner).HookResized;
  end;
end;

{ TdxButton }

{-----------------------------------------------------------------------------
  Procedure: TdxButton.Create
  Author:    mh
  Date:      21-Feb-2002
  Arguments: AOwner: TComponent
  Result:    None
-----------------------------------------------------------------------------}

constructor TdxButton.Create(AOwner: TComponent);
begin
  inherited;

  // set default properties.
  Height := 25;
  TabStop := True;
  Width := 73;

  // set custom properties.
  FAutoGray := True;
  FCancel := False;
  FColors := TdxColors.Create(Self);
  FDefault := False;
  FImageIndex := -1;
  FImageChangeLink := TChangeLink.Create;
  FImageChangeLink.OnChange := ImageListChange;
  FGlyph := TBitmap.Create;
  FHotTrack := False;
  FLayout := blGlyphLeft;
  FQuality := bqMiddle;
  FShowAccelChar := True;
  FShowFocusRect := True;
  FSpacing := 3;
  FWordWrap := True;

  // create ...
  FBgGradient := TBitmap.Create; // background gradient
  FCkGradient := TBitmap.Create; // clicked gradient
  FFcGradient := TBitmap.Create; // focused gradient
  FHlGradient := TBitmap.Create; // highlight gradient
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.Destroy
  Author:    mh
  Date:      21-Feb-2002
  Arguments: None
  Result:    None
-----------------------------------------------------------------------------}

destructor TdxButton.Destroy;
begin
  FBgGradient.Free;
  FCkGradient.Free;
  FFcGradient.Free;
  FHlGradient.Free;
  FColors.Free;
  FGlyph.Free;
  FImageChangeLink.OnChange := nil;
  FImageChangeLink := nil;
  FImageChangeLink.Free;
  inherited;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.GetVersion
  Author:    mh
  Date:      09-Apr-2002
  Arguments: None
  Result:    string
-----------------------------------------------------------------------------}

function TdxButton.GetVersion: string;
begin
  Result := SVersion;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.GetActionLinkClass
  Author:    mh
  Date:      09-Apr-2002
  Arguments: None
  Result:    TControlActionLinkClass
-----------------------------------------------------------------------------}

function TdxButton.GetActionLinkClass: TControlActionLinkClass;
begin
  Result := TdxButtonActionLink;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.CMDialogKey
  Author:    mh
  Date:      22-Feb-2002
  Arguments: var Message: TCMDialogKey
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxButton.CMDialogKey(var Message: TCMDialogKey);
begin
  inherited;
  with Message do
    if (((CharCode = VK_RETURN) and (Focused or (FDefault and not (IsSibling))))
      or ((CharCode = VK_ESCAPE) and FCancel) and (KeyDataToShiftState(KeyData) = []))
      and CanFocus then
    begin
      Click;
      Result := 1;
    end
    else
      inherited;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.SetAutoGray
  Author:    mh
  Date:      12-Apr-2002
  Arguments: Value: Boolean
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxButton.SetAutoGray(Value: Boolean);
begin
  if Value <> FAutoGray then
  begin
    FAutoGray := Value;
    Invalidate;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.SetDefault
  Author:    mh
  Date:      22-Feb-2002
  Arguments: Value: Boolean
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxButton.SetDefault(Value: Boolean);
begin
  if Value <> FDefault then
  begin
    FDefault := Value;
    with GetParentForm(Self) do
      Perform(CM_FOCUSCHANGED, 0, LongInt(ActiveControl));
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.SetGlyph
  Author:    mh
  Date:      22-Feb-2002
  Arguments: Value: TPicture
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxButton.SetGlyph(Value: TBitmap);
begin
  FGlyph.Assign(Value);
  Invalidate;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.SetHotTrack
  Author:    mh
  Date:      29-Apr-2002
  Arguments: Value: Boolean
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxButton.SetHotTrack(Value: Boolean);
begin
  if Value <> FHotTrack then
  begin
    FHotTrack := Value;
    Invalidate;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.SetLayout
  Author:    mh
  Date:      12-Apr-2002
  Arguments: Value: TdxLayout
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxButton.SetLayout(Value: TdxLayout);
begin
  if Value <> FLayout then
  begin
    FLayout := Value;
    Invalidate;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.SetQuality
  Author:    mh
  Date:      22-Feb-2002
  Arguments: Value: TdxQuality
  Result:    None
-----------------------------------------------------------------------------}

procedure TdxButton.SetQuality(Value: TdxQuality);
begin
  if Value <> FQuality then
  begin
    FQuality := Value;
    HookResized;
  end;
end;

{-----------------------------------------------------------------------------
  Procedure: TdxButton.SetShowAccelChar
  Author:    mh
  Date:      22-Feb-2002

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -