【发布时间】:2013-05-10 08:25:38
【问题描述】:
我们刚刚从 Delphi 2010 升级到 XE4 并第一次使用 FireMonkey,所以在黑暗中磕磕绊绊地试图弄清楚它是如何工作的。
根据不久前的查询,我试图让 TGrid 组件中的单个单元格根据某些规则以不同方式显示。我已经完成了 Mike Sutton 发布的有用代码:
Firemonkey Grid Control - Styling a Cell based on a value (via the OnGetValue function call)
我必须做一些修改才能让它在 XE4 中编译;运行代码时一切正常,除了:
- FontFill 无法识别,因此暂时将其设为空白。
- 字体样式完全没有变化,无论如何它都显示为默认样式。
相关代码(其余的和上面的链接差不多):
Procedure TFinancialCell.ApplyStyle;
var
T: TFMXObject;
begin
inherited;
ApplyStyling;
end;
Procedure TFinancialCell.ApplyStyling;
begin
// If IsNegative then
// FontFill.Color:=claRed
// else
// FontFill.Color:=claBlack;
Font.Style:=[TFontStyle.fsItalic];
If IsImportant then
Font.Style:=[TFontStyle.fsBold]
else
Font.Style:=[];
If Assigned(Font.OnChanged) then
Font.OnChanged(Font);
Repaint;
end;
IsImportant 标志设置正确,因此这似乎不是问题。
对此的任何帮助将不胜感激。提前为我可能遗漏的任何愚蠢行为道歉。
【问题讨论】:
-
好问题,我自己也想知道。
-
到目前为止我发现的唯一其他可能有用的信息在这里:monkeystyler.com/blog/entry/… 但是,我不知道这是否与我的查询相关,因为我不了解样式代码足够好。我的查询中提到的原始代码似乎很适合在发布时尝试过的人;我不确定是否是 XE3/XE4 更改导致它无法工作。
标签: delphi firemonkey tgrid