我们刚刚从Delphi 2010升级到XE4并首次使用FireMonkey,所以在黑暗中磕磕绊绊,试图弄清楚它是如何工作的。
根据一段时间的查询,我试图让TGrid组件中的单个单元格根据某些规则进行不同的显示。我已经完成了Mike Sutton发布的有用代码:
Firemonkey Grid Control - Styling a Cell based on a value (via the OnGetValue function call)
我必须做一些修改才能在XE4中编译它;运行代码时看起来都没问题,除了:
相关代码(其余部分几乎与上面的链接相同):
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标志正确设置,因此似乎不是问题。
对此有任何帮助真的很感激。我可能会遗漏任何愚蠢的事情。
答案 0 :(得分:2)
我的FireMonkey指南网站http://monkeystyler.com/guide/Category:Grids
在很大程度上取代了那篇文章。从XE3起,如果要修改需要从StyledSettings属性中删除相应项目的内容,
StyledSettings := StyledSettings - [TStyledSetting.ssStyle, TStyledSetting.ssFontColor]
等
要更改字体颜色,请使用FontColor属性