0

我正在尝试创建一个 Firemonkey TGrid,它将根据值显示具有改变背景颜色的值,但我似乎无法掌握 firemonkey 中新的 Styles 事物的窍门。

我遵循了Firemonkey Grid Control 的建议和结构 - 基于值(通过 OnGetValue 函数调用)设置单元格样式并创建了自定义 TTextcel 导数,但我仍然找不到如何更改背景颜色。

我试过FindStyleResource('background') as TRectangle了,但这总是返回零。

任何人都可以让我走上正轨吗?

[附加信息]
完成了 Mike Sutton 的建议,我开始明白了;)编辑框给了我一个布局结构,我设法将它链接到我的 TTExtCel 控件。这样我就可以通过foreground: BrushObject.

但是背景是用 TSubImage 和 TRectAnimation 完成的。如果我理解正确,TSubimage 将参与其中Windows7 Style.png并在编辑框中显示它。如何用 TRectangle 替换 TSubImage 以便更改 BrushColor?结构和属性编辑器窗口不允许我添加除 TLayout 之外的任何样式元素...

4

1 回答 1

1

我认为您使用的是XE3。XE3 中的样式使用位图作为背景等,因此即使您找到“背景”样式组件,它也可能不是 TRectangle(因此您应该避免这种盲目投射)。

在表单上弹出一个 TEdit,右键单击并选择编辑自定义样式。然后,您将看到样式中的内容。您可能可以根据需要对其进行修改,或者您可能必须完全重新设计它(可能使用自定义位图,可能返回矩形)。然后,您可以设置每个单元格的 StyleLookup 属性以使用它,或者将样式 StyleName 设置为 TextCellStyle 以使其为每个 TTextCell 自动拾取。

[附加信息] 要在样式编辑器中添加对象,请将其从工具面板拖到结构窗格(屏幕左上角)。要开始一个新元素,请将其放在最顶层(根)项目上。然后您可以将其设置为 StyleName,然后您需要应用并关闭双击样式簿以返回编辑器并使您的更改生效(是的,这很糟糕)。

您可以在结构窗格中拖放内容以重用旧样式中的项目。

于 2013-02-28T09:12:09.457 回答