Звиняюсь, код с одного места в другое вставил, а i, j на ACol, ARow поменять забыл
. Вот правильный код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
x, y:Integer;
sz:tagSize;
begin
StringGrid1.Canvas.Font:=StringGrid1.Font;
If ARow=0 then
StringGrid1.Canvas.Font.Style:=[fsBold]
else
StringGrid1.Canvas.Font.Style:=[];
sz:=StringGrid1.Canvas.TextExtent(StringGrid1.Cells[ACol, ARow]);
StringGrid1.Canvas.Brush.Color:=clWhite;
StringGrid1.Canvas.FillRect(StringGrid1.CellRect(ACol, ARow));
x:=StringGrid1.CellRect(ACol, ARow).Left+
(StringGrid1.CellRect(ACol, ARow).Right-StringGrid1.CellRect(ACol, ARow).Left-sz.cx) div 2;
y:=StringGrid1.CellRect(ACol, ARow).Top+
(StringGrid1.CellRect(ACol, ARow).Bottom-StringGrid1.CellRect(ACol, ARow).Top-sz.cy) div 2;
StringGrid1.Canvas.TextOut(x, y, StringGrid1.Cells[ACol, ARow]);
end;
ты сам этот изумительный код запускал?
Запустил, работает, естественно для большой таблицы будет тормозить.