Sto scrivendo un componente memo che deve apparire come una sessione di terminale vecchio stile. Questo dovrebbe essere molto semplice, ma il modo in cui funzionano gli stili di FireMonkey sembra renderlo incredibilmente complesso.Cambia il carattere e i colori di sfondo di un TMemo in FireMonkey
In un'applicazione FireMonkey non mobile, è possibile fare clic con il pulsante destro del mouse su un controllo e selezionare "Modifica stile personalizzato". Questa opzione non è disponibile nelle app mobili. Ecco la ragione fornita da uno degli sviluppatori di FireMonkey.
È supportato stile diverso su iOS e Android. Non è possibile eseguire l'applicazione su Android in stile iOS. Ma quando provi a cambiare lo stile di piattaforma , lo useremo automaticamente su ogni piattaforma di destinazione. Se si desidera modificare lo stile predefinito del controllo fm, è necessario inserire nel libro di stile del modulo e creare uno stile, oppure caricare lo stile della piattaforma di stile e apportare modifiche al suo interno.
anche molto importante, quando si carica lo stile platform in stile libro, È può desiderare che istanza dell'applicazione non avrà due copia della piattaforma stile (uno - System in Package FMX e altra copia nel vostro stile libro). Per questo dovresti impostare il flag true in TStylebook.UseStyleManager. In questo case style in Style book sostituirà lo stile della piattaforma.
OK, quindi penso di aver bisogno di creare uno stile personalizzato. Come faccio a creare uno stile personalizzato per sovrascrivere solo il carattere e le proprietà dello sfondo?
Suppongo di poter eseguire l'override della procedura ApplyStyle in questo modo.
procedure TMyMemo.ApplyStyle;
var
BackgroundObject: TFmxObject;
begin
inherited;
BackgroundObject := FindStyleResource('content');
if Assigned(BackgroundObject) then
begin
// Change the background color of the background
end;
end;
Come faccio a sapere di che tipo è lo sfondo e quali proprietà devo modificare?
Sicuramente, cambiare il colore di sfondo di un controllo non può essere così difficile! Mi manca qualcosa di fondamentale con gli stili FM?