Acá está el código modificado.No funciona bien, supongo que es por el redondeo. El resize se ejecuta muchas veces mientras se cambia el tamaño de la ventana. Parece ser que en cada ejecución el porcentaje que cambia es mínimo. Y el redondeo termina afectando mucho.
Veré como hago para compensar eso.
Código Delphi
[-]
private
anchoGrid: integer;
procedure TForm2.FormResize(Sender: TObject);
var
nuevoAnchoGrid:integer;
nCols:integer;
nPorcentaje : Double;
i:Integer;
begin
nuevoAnchoGrid:=DbGrid1.Width;
nCols:=DbGrid1.FieldCount;
nPorcentaje:= nuevoAnchoGrid / anchoGrid;
anchoGrid:= nuevoAnchoGrid;
For i:=0 to ncols -1 do
begin
DbGrid1.Columns[i].Width:=round(DbGrid1.Columns[i].Width * nPorcentaje);
end;
end;
Por lo menos la idea está.
Si logro que funcione bien, posteo lo que modifiqué.
Gracias nuevamente
Alejandro