Nur so eine Idee:
- BeginUpdate
- RowCount merken
- OnGetCellText merken
- RowCount auf 2
- OnGetCellText auf nil
- Setze Cells[col, 1] auf längsten möglichen Text
- AutoSizeCol
- Cells[col, 1] wieder leer machen
- OnGetCellText und RowCount wieder herstellen
- EndUpdate
Man kann auch die längsten N Texte ermitteln und setzt RowCount und Cells entsprechend. Das Finden des längsten Texts kann entweder durch einfache Textlänge oder durch jeweiligen Aufruf von AdvStringGrid1.Canvas.TextWidth erfolgen. Das kann natürlich auch schon mal komplizierter werden, wenn die Texte noch aufwendig formatiert werden müssen. Wie gesagt - nur 'ne Idee.