Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.701 Beiträge
 
Delphi 12 Athens
 
#9

AW: Das leidige Thema Buttonfarbe...

  Alt 27. Mai 2025, 12:57
Hier mal ein kurzes Video: https://app.screencast.com/yWgR7FeCt591P.

Das Form verwendet den Style Charcoal Dark Slate und für den Down-State wird auf Golden Graphite umgeschaltet. Ich habe das bewusst auf Styles beschränkt, die bei Delphi dabei sind.

Hier noch der relevante Code:
Delphi-Quellcode:
const
  cAltStyle = 'Golden Graphite';

type
  TButtonHelper = class helper for TButton
  private
    function GetDown: Boolean;
    procedure SetDown(const Value: Boolean);
  public
    property Down: Boolean read GetDown write SetDown;
  end;

function TButtonHelper.GetDown: Boolean;
begin
  Result := not StyleName.IsEmpty;
end;

procedure TButtonHelper.SetDown(const Value: Boolean);
begin
  if Value then begin
    Caption := 'On';
    StyleName := cAltStyle;
  end
  else begin
    Caption := 'Off';
    StyleName := '';
  end;
end;

procedure TForm897.ButtonClick(Sender: TObject);
{ wird von beiden Buttons verwendet }
begin
  var btn := Sender as TButton;
  btn.Down := not btn.Down;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat