hallo kiar!
ich glaub, du hast die arbeitsweise von 'drawcell' nicht richtig verstanden
drawcell zeichnet immer nur jene zelle, mit deren koordinaten es aufgerufen wird
--> procedure TForm1.SG1DrawCell(Sender: TObject;
ACol,
ARow: Integer;
Rect: TRect; State: TGridDrawState);
wenn du in einer schleife durch deine spalten iterierst, ist es sehr wahrscheinlich, dass du
colwidth der letzten spalte für alle vorherigen auch zum zentrieren heranziehst. aus diesem grund
dürfte es bei dir nicht so gut aussehen
probiers mal auf diese art:
Delphi-Quellcode:
{$UNTESTED}
s:=StringGrid1.Cells[ACol,ARow]
StringGrid1.Canvas.FillRect(Rect); // Zellfarbe zeichnen
DrawText(StringGrid1.Canvas.Handle, PChar(s), Length(s), Rect, DT_Center);
quelle: huberlix im vorigen beitrag
damit sollte es klappen
mfg, stefan