Um einzelne Farben in einer StringGrid zu ändern, gehe ich folgendermaßen vor:
In der zugewiesenen Grid.OnDrawCell procedure:
Delphi-Quellcode:
Grid.Canvas.Brush.Color := clGreen; // optional : Hintergrundfarbe
Grid.Canvas.Font.Color := clRed; // optional : Schriftfarbe
Grid.Canvas.FillRect(Rect); // Zelle mit Hintergrundfarbe füllen
Rect.Left := Rect.Left + 2;
Rect.Right := Rect.Right - 2;
Rect.Top := Rect.Top + 2;
Rect.Bottom := Rect.Bottom - 2;
DrawText(Grid.Canvas.Handle, PChar(Grid.Cells[ACol,ARow]), StrLen(PChar(Grid.Cells[ACol,ARow])), Rect,DT_LEFT); // Text in Zelle schreiben
Zu deiner Frage "wozu dient dieses trim" : Wie ich schon oben geschrieben habe : "Leerstellen rausnehmen". Die genaue Beschreibung dazu findest du in der Delphihilfe oder hier
System.SysUtils.Trim