Ver Mensaje Individual
  #6  
Antiguo 27-02-2009
quali quali is offline
Miembro
 
Registrado: jul 2003
Ubicación: Posadas, Misiones, Argentina
Posts: 23
Reputación: 0
quali Va por buen camino
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
    { Private declarations }
    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
__________________
Alejandro
Responder Con Cita