TColor-knapp med färgegenskaper

Bakgrundsfärgen på en TButton styrs av Windows, inte Delphi. TButton är ett enkelt omslag runt standard Windows-knappen, och Windows tillåter inte att det färgas förutom genom att välja färger i Kontrollpanelen. 

Detta innebär att du inte kan ställa in en bakgrundsfärg på en TButton, och du kan inte heller ändra bakgrundsfärgen på TBitBtn eller TSpeedButton.

Eftersom Windows insisterar på att göra bakgrundsfärgningen med clBtnFace, är det enda sättet att ändra det att rita knappen själv genom att göra en ägartecknad knappkomponent.

TColorButton källkod

TColorButton lägger till tre nya egenskaper till standard TButton:

  • Bakfärg - Anger bakgrundsfärgen på knappen
  • ForeColor - Anger färgen på knapptexten. Observera att detta "åsidosätter" egenskapen Font.Color
  • HoverColor - Anger färgen som ska användas för att måla knappens bakgrund när musen svävar över knappen.

Så här ställer du in färgrelaterade egenskaper för TColorButton vid körning:

ColorButton1.BackColor: = clOlive; //bakgrund
ColorButton1.ForeColor: = clYelow; //text
ColorButton1.HoverColor: = clNavy; // musen över

Installera i en komponentpalett

TColorButton kommer som en enda enhetsfil med filändelsen .PAS. När du har laddat ner komponenten måste du installera källkomponenten i ett befintligt paket.