Il colore di sfondo di un TButton è controllato da Windows, non da Delphi. TButton è un semplice wrapper attorno al pulsante Windows standard e Windows non consente di colorarlo se non scegliendo i colori nel Pannello di controllo.
Ciò significa che non puoi impostare il colore di sfondo di un TButton, né puoi cambiare il colore di sfondo di TBitBtn o TSpeedButton.
Poiché Windows insiste nel fare la colorazione dello sfondo con clBtnFace, l'unico modo per cambiarlo è disegnare il pulsante da soli creando un componente pulsante disegnato dal proprietario.
Codice sorgente TColorButton
Il TColorButton aggiunge tre nuove proprietà al TButton standard:
- Colore di sfondo - Specifica il colore di sfondo del pulsante
- ForeColor - Specifica il colore del testo del pulsante. Notare che ciò "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 del TColorButton in fase di esecuzione:
ColorButton1.BackColor: = clOlive; //sfondo
ColorButton1.ForeColor: = clYelow; //testo
ColorButton1.HoverColor: = clNavy; // passa il mouse
Installazione in una tavolozza dei componenti
Il TColorButton si presenta come un singolo file di unità con l'estensione del file .PAS. Dopo aver scaricato il componente, è necessario installare il componente sorgente in un pacchetto esistente.