Also ich hab hier mal kurz eine
procedure geschrieben dir dir nützlich sein könnte. Nur muss die für jede Komponente aufgerufen werden, aber wahrscheinlich gibt es eine Möglichkeit eine TControl ist die Basisklasse für alle Komponenten, die zur Laufzeit sichtbar sind. Art Findcomponent so zu gestalten, dass alle TControl-Komponenten aufgerufen werden.
Delphi-Quellcode:
procedure Tform.Changecomponent(comp: TControl; dw1,dh1: real);
begin
comp.left:=round(dw1*comp.Left);
comp.width:=round(dw1*comp.Width);
comp.top:=round(dh1*comp.Top);
comp.height:=round(dh1*comp.Height);
end;
// zu den Variablen:
//im oncreate oder schon fest:
w:=form.Width;
h:=form.Height;
// Dann bei einem Veränderung des Forms:
dw:=form.Width/w;
dh:=form.Height/h;
// und aufrufen:
Changecomponent(Panel1,dw,dh);
Erwarte das Beste und bereite dich auf das Schlimmste vor.