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;