【发布时间】:2013-10-02 04:13:51
【问题描述】:
我正在编写一个需要看起来像老式终端会话的备忘录组件。这应该很简单,但 FireMonkey 样式的工作方式似乎使它变得难以置信的复杂。
在非移动 FireMonkey 应用程序中,我可以右键单击控件并选择“编辑自定义样式”。此选项在移动应用程序中不可用。这是 FireMonkey 开发人员之一给出的原因。
它在 iOS 和 Android 上支持不同的风格。我们不能跑 iOS 风格的 Android 应用程序。但是当你试图改变 平台样式,我们将自动在每个目标平台上使用它。 如果你想改变 fm 控件的默认样式,你应该穿上 表单样式书并在其中制作样式,或加载到样式簿 平台样式并对其进行更改。
也很重要,当您在样式书中加载平台样式时,您 可以希望该应用程序实例不会有两个平台副本 样式(一个 - fmx 包中的系统和样式书中的其他副本)。 为此,您应该在 TStylebook.UseStyleManager 中设置标志为 true。在 Style book 中的这种案例风格将取代平台风格。
好的,所以我认为我需要创建一个自定义样式。如何创建自定义样式以仅覆盖字体和背景属性?
我想我可以像这样覆盖 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 风格的基本内容?
【问题讨论】:
标签: delphi styles delphi-xe5 firemonkey-fm3