データに基づいて背景色を変更していますが、テキストが読みにくくなるため、フォントの色を変更する必要があります (暗い色の場合は白に変更します) が、それを行う方法が見つかりません。 Delphi XE8 を使用しています。
if not (isSelected) then
begin
case StrToInt((Sender as TStringGrid).Cells[0, Row]) of
0:
begin
//TTextCell(CellCtrl).StyledSettings := [];
TTextCell(CellCtrl).FontColor := Cores[3 - auxCor - 1];
RowColor.Color := Cores[auxCor-1];
end;
1:
begin
//TTextCell(CellCtrl).StyledSettings := [];
TTextCell(CellCtrl).FontColor := TAlphaColors.Black;
RowColor.Color := TAlphaColors.Red;
end;
2:
begin
//TTextCell(CellCtrl).StyledSettings := [];
TTextCell(CellCtrl).FontColor := TAlphaColors.Black;
RowColor.Color := TAlphaColors.Yellow;
end;
3:
begin
//TTextCell(CellCtrl).StyledSettings := [];
TTextCell(CellCtrl).FontColor := TAlphaColors.Black;
RowColor.Color := TAlphaColors.LightGreen;
end;
end;
end;
Canvas.FillRect(Bounds, 0, 0, [], 1, RowColor);
TGrid(Sender).DefaultDrawColumnCell(Canvas, Column, Bounds, Row,
Value, State);
(Sender as TStringGrid).Selected := SelectedRow;
TTextCell 部分は何もしません (私は色を緑に設定する同様のケースで他にあるので、テキストを白にする必要があります (白が読みにくい場合は、他の色を試します)。
Cores は、白黒の TAlphaColors の配列です