如何使用 Delphi XE7 更改 stringgrid 特定单元格的颜色
How to change the colour of the stringgrid particular cell using Delphi XE7
我正在使用 Delphi XE7 开发 Android 应用程序。因为我使用了 TStringGrid 组件然后我使用了
StringGrid.cells[0, 0] := 'Test'
以及如何更改代码中显示的特定单元格的字体颜色。而且我还有 this sample code, 但我无法更改特定单元格的字体颜色。请任何人向我解释如何更改特定单元格值的字体颜色。我正在使用 Delphi XE7,目标是 Android 移动设备。
谢谢..
在 FireMonkey TStringGrid 中,没有每个单元格的样式选项。您将需要使用第三方网格控件或自己从 TGrid 中滚动一些东西。
您可以在我的网站 http://monkeystyler.com/guide
上找到大量关于后者的 material
终于,我找到了我需要的解决方案。请按照步骤操作。我们可以在 TStringGrid 本身改变字体颜色,不需要使用 TGrid。请按照以下步骤操作。
首先在 FormCreate 事件中赋值:
StringGrid1.DefaultDrawing := False;
然后在 StringGrid DrawColumnCell 事件中写入:
Canvas.fill.Color := TAlphaColorRec.Green;
Canvas.FillText(Bounds, (Value.AsString),
false, 100, [], TTextAlign.taLeading, TTextAlign.taCenter);
在 XE8 中也适用于 TStringGrid
OnDrawColumnCell
事件。
这是一个将颜色保持为黑色但将字体样式设置为粗体的示例。提示,从左边距为字体添加 2 像素填充。
var Rect : TRectF;
begin
Rect := Bounds;
Rect.Left := Rect.Left + 2;
Canvas.Font.Style := [TFontStyle.fsBold];
Canvas.Fill.Color := TAlphaColorRec.Black;
Canvas.FillText(Rect, (Value.AsString), false, 100, [], TTextAlign.taLeading, TTextAlign.taCenter);
end;
我一开始错过的是没有将 DefaultDrawing 设置为 false!在我设置之后,事件正在接受对 Canvas.
的更改
我正在使用 Delphi XE7 开发 Android 应用程序。因为我使用了 TStringGrid 组件然后我使用了
StringGrid.cells[0, 0] := 'Test'
以及如何更改代码中显示的特定单元格的字体颜色。而且我还有 this sample code, 但我无法更改特定单元格的字体颜色。请任何人向我解释如何更改特定单元格值的字体颜色。我正在使用 Delphi XE7,目标是 Android 移动设备。
谢谢..
在 FireMonkey TStringGrid 中,没有每个单元格的样式选项。您将需要使用第三方网格控件或自己从 TGrid 中滚动一些东西。
您可以在我的网站 http://monkeystyler.com/guide
上找到大量关于后者的 material终于,我找到了我需要的解决方案。请按照步骤操作。我们可以在 TStringGrid 本身改变字体颜色,不需要使用 TGrid。请按照以下步骤操作。
首先在 FormCreate 事件中赋值:
StringGrid1.DefaultDrawing := False;
然后在 StringGrid DrawColumnCell 事件中写入:
Canvas.fill.Color := TAlphaColorRec.Green;
Canvas.FillText(Bounds, (Value.AsString),
false, 100, [], TTextAlign.taLeading, TTextAlign.taCenter);
在 XE8 中也适用于 TStringGrid
OnDrawColumnCell
事件。
这是一个将颜色保持为黑色但将字体样式设置为粗体的示例。提示,从左边距为字体添加 2 像素填充。
var Rect : TRectF;
begin
Rect := Bounds;
Rect.Left := Rect.Left + 2;
Canvas.Font.Style := [TFontStyle.fsBold];
Canvas.Fill.Color := TAlphaColorRec.Black;
Canvas.FillText(Rect, (Value.AsString), false, 100, [], TTextAlign.taLeading, TTextAlign.taCenter);
end;
我一开始错过的是没有将 DefaultDrawing 设置为 false!在我设置之后,事件正在接受对 Canvas.
的更改