Hola mcs.
No conocía ningún componente que hiciera lo que pedias...
Pero me interesó la posibilidad e hice unas pruebas.
Este es el código que me quedó, cuyo mayor mérito no es ser inédito (seguro miles ya lo hayan echo) sino que me llevó muchas pruebas de ensayo error...
Tira algunos componentes en un form y agregá esto en el evento OnCanResize.
Código Delphi
[-]
procedure TForm1.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
var
i:Integer;
begin
for i:= 0 to ComponentCount - 1 do
begin
TControl(Components[i]).Left:= Round(NewWidth * TControl(Components[i]).Left / Width);
TControl(Components[i]).Top:= Round(NewHeight * TControl(Components[i]).Top / Height);
end;
end;
Por favor probalo bién...
Espero te sirva, a mi me entretuvo un buen rato...
Saludos.