TColorButton con proprietà colore

Il colore di sfondo di un TButton è controllato da Windows, non da Delphi. TButton è un semplice wrapper attorno al pulsante standard di Windows e Windows non consente di colorarlo se non scegliendo i colori nel Pannello di controllo. 

Ciò significa che non è possibile impostare il colore di sfondo di un TButton, né è possibile modificare il colore di sfondo di TBitBtn o TSpeedButton.

Poiché Windows insiste nel fare la colorazione di sfondo con clBtnFace, l'unico modo per cambiarlo è disegnare il pulsante da soli creando un componente pulsante disegnato dal proprietario.

Codice sorgente TColorButton

TColorButton aggiunge tre nuove proprietà allo TButton standard:

  • Colore di sfondo - Specifica il colore di sfondo del pulsante
  • ForeColor - Specifica il colore del testo del pulsante. Si noti che questo "sostituisce" la proprietà Font.Color
  • HoverColor - Specifica il colore utilizzato per dipingere lo sfondo del pulsante quando il mouse passa sopra il pulsante.

Ecco come impostare le proprietà relative al colore di TColorButton in fase di esecuzione:

ColorButton1.BackColor: = clOlive; //sfondo
ColorButton1.ForeColor: = clYelow; //testo
ColorButton1.HoverColor: = clNavy; // passa il mouse sopra

Installazione in una tavolozza dei componenti

TColorButton si presenta come un singolo file unitario con estensione .PAS. Dopo aver scaricato il componente, è necessario installare il componente di origine in un pacchetto esistente.