Fare un calcolo con le proporzioni.
1135 è la dimensione delle colonne imposta da programma, faccio un rapporto con la larhezza effettiva della griglia ( che ho chiamato per compattezza GC ).
[CODE]
procedure TForm1.Button1Click(Sender: TObject);
Function Calcola(valore:Integer):Integer;
Var lar, temp : Integer;
Begin
// Se la String Grid e' maggiore usa la dimensione effettiva
lar := GC.Width;
// Larhezza ottenuta sommando i valori sotto (60, 75, 100, 100, .....)
temp := 1135;
calcola := valore * lar div 1135;
End;
begin
GC.Cells[0,0] := 'Quantità';
GC.Cells[1,0] := 'Altezza (H)';
GC.Cells[2,0] := 'Lunghezza (L)';
GC.Cells[3,0] := 'Sporgenza (H)';
GC.Cells[4,0] := 'Coibentazione';
GC.Cells[5,0] := 'Verniciatura';
GC.Cells[6,0] := 'Costo €';
GC.Cells[7,0] := 'Costo € Scontato';
GC.Cells[8,0] := 'Costo € Ricarico';
GC.ColWidths[0] := Calcola(60);
GC.ColWidths[1] := Calcola(75);
GC.ColWidths[2] := Calcola(100);
GC.ColWidths[3] := Calcola(100);
GC.ColWidths[4] := Calcola(100);
GC.ColWidths[5] := Calcola(340);
GC.ColWidths[6] := Calcola(90);
GC.ColWidths[7] := Calcola(120);
GC.ColWidths[8] := Calcola(150);
end;