我们刚刚从 Delphi 2010 升级到 XE4 并第一次使用 FireMonkey,所以在黑暗中跌跌撞撞地试图弄清楚它是如何工作的。
根据不久前的查询,我试图让 TGrid 组件中的单个单元格根据某些规则以不同方式显示。我已经完成了 Mike Sutton 发布的有用代码:
Firemonkey Grid Control - 根据值设置单元格样式(通过 OnGetValue 函数调用)
我必须进行一些更改才能使其在 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 标志设置正确,因此这似乎不是问题。
对此的任何帮助将不胜感激。提前为我可能遗漏的任何愚蠢行为道歉。