Herzlich willkommen in der Delphi-PRAXiS, c.Stetter.
Deine Code-Zeilen stammen doch aus dem OnDrawCell-Handler, oder? Dort werden dir schon die Zell-Koordinaten (ACol, ARow) übermittelt. Du kannst mit einer Abbildungsfunktion arbeiten oder das CASE-Konstrukt direkt im Event-Handler reinschreiben:
Delphi-Quellcode:
function LookupColor(index: Integer): TColor;
begin
case index of
0..4: Result := clRed;
5..9: Result := clBlue;
else
if Odd(index)
then Result := clGreen
else Result := clWhite;
end;
end;
procedure TMainForm.grd_SpieleDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
with (Sender as TJVStringGrid) do
begin
Canvas.Brush.Color := LookupColor(ARow);
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]);
end;
end;
Freundliche Grüße vom marabu