【问题标题】:Change background of TTextCell in a Firemonkey TGrid在 Firemonkey TGrid 中更改 TTextCell 的背景
【发布时间】:2013-02-27 08:59:28
【问题描述】:

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

我已按照Firemonkey Grid Control - Styling a Cell based on a value (via the OnGetValue function call) 的建议和结构创建了自定义 TTextcel 衍生物,但我仍然找不到如何更改背景颜色。

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

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

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

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

【问题讨论】:

    标签: delphi firemonkey delphi-xe3


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 问题是工具面板中只有 TLayout 组件。我什至无法在结构中复制和粘贴现有组件
    猜你喜欢
    • 2018-05-18
    • 2011-12-10
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多