Ich versteh was Ihr meint und ich mein ich hab das auch schon so umgesetzt... Korrigiert mich wenn ich falsch liege...
Offensichtlich eher nicht. Um deine Struktur beizubehalten:
Delphi-Quellcode:
procedure DoOnDrawCell(...);
begin
SetzeFontEigenschaften(ACol, ARow);
{Zeichnen...}
end;
procedure prTStringGridAutoFit(strgrid : TStringGrid);
var
iMaxTextLength : Integer;
iCol, iRow : Integer;
begin
//=== Auto Fit Columns =======================================================
For iCol := 0 to (strGrid.ColCount -1) Do
Begin
iMaxTextLength := 0;
For iRow := 0 To (strGrid.RowCount - 1 ) Do
Begin
SetzeFontEigenschaften(iCol, iRow);
If strGrid.Canvas.TextWidth(strGrid.Cells[iCol, iRow]) > iMaxTextLength Then
Begin
iMaxTextLength := strGrid.Canvas.TextWidth(strGrid.Cells[iCol, iRow]);
End;
End;
strGrid.ColWidths[iCol] := iMaxTextLength + 25;
End;
//============================================================================
end;