Ich kenne mich mit dem VST's kenn ich mich nicht aus, aber für ein Stringgrid passe ich die breite "autom." an die benötigte Breite an (das Speichern der vorherigen Breite wäre dann überflüssig), müsste hier ja ähnlich möglich sein:
Delphi-Quellcode:
GridColWidth(Stringgrid, 1, 0);
//Stringgrid Spaltenbreite anpassen
procedure TTools.GridColWidth(grd:TStringGrid; min,max:word);
var
Zeile, Spalte, tmp, len: word;
begin
with grd do begin // für alle Spalten
for Spalte:=0 to (ColCount -1) do begin
len:=0;
for Zeile:=0 to (RowCount-1) do begin // für alle Zeilen
tmp:=Canvas.TextWidth(Cells[Spalte,Zeile]);
if tmp>len then len:=tmp // neue max Breite
end; // for Zeile
if max>0 then if len>max then len:=max; // Maximalbreite
if len<min then len:=min; // Minimalbreite
ColWidths[Spalte]:=len+GridLineWidth+10 // Spalte verbreitern
end // for Spalte
end // with
end;
Edit: Wenn man sie natürlich einfach einblenden/ausblenden kann (wie generic schrieb) ist das natürlich in diesem Fall wesentlich einfacher.