Я пишу компонент заметок, который должен выглядеть как старомодный сеанс терминала. Это должно быть очень просто, но работа стилей FireMonkey, похоже, делает его невероятно сложным.Изменение цвета шрифта и цвета TMemo в FireMonkey
В немобильном приложении FireMonkey я могу щелкнуть правой кнопкой мыши элемент управления и выбрать «Редактировать пользовательский стиль». Этот параметр недоступен в мобильных приложениях. Вот причина, данная одним из разработчиков FireMonkey.
Это поддержка различных стилей на iOS и Android. Мы не можем запускать приложение на Android в стиле iOS. Но когда вы пытаетесь изменить стиль платформы , мы автоматически будем использовать его на каждой целевой платформе. Если вы хотите поменять стиль управления fm по умолчанию, вы должны надеть книгу стиля стиля и создать в ней стиль, либо загрузить в стилевую книгу стиль платформы и внести в нее изменения.
Кроме того, очень важно, когда вы загружаете стиль платформы в стиле книги, Вы можете хотите, чтобы экземпляр приложения не будет иметь две копии платформы стиле (одна - система в FMX пакет и другой экземпляр в вашем стиле книги). Для этого вы должны установить флаг true в TStylebook.UseStyleManager. В этот стиль шкафа в книге стиля заменит стиль платформы.
ОК, поэтому я считаю, что мне нужно создать собственный стиль. Как мне создать собственный стиль, чтобы переопределить только свойства шрифта и фона?
Думаю, я могу переопределить процедуру ApplyStyle примерно так.
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;
Как узнать, какой тип фонового объекта и какое свойство мне нужно изменить?
Несомненно, изменение цвета фона элемента управления не может быть так сложно! Я пропустил что-то принципиальное с стилями FM?