Moin,
Zitat von
Chewie:
Ich versuche gerade, eine Oberfläche so zu gestalten, dass sie auch beim Resizen die gleichen Proportionen beibehält. Konkret heißt das, ich habe zunächst drei Panels, die folgendermaßen angeordnet sind (s. Anhang). Wenn der Benutzer die Größe des Fenster ändert, soll die relative Größe und Position der Panels beibehalten werden.
Muss ich dazu selbst auf das Verändern der Größe reagieren oder ist es möglich, den gewünschten Effekt durch die richtigen Einstellungen an den Docking-, Align-, Anchor-Properties etc. zu erzielen?
sowas hatte ich neulich auch mal, ich habe die größen für die panels jedesmal neu ausgerechnet.
Mal sehen, ob ich das jetzt so auf die schnelle hinbekomme:
panel1.align:=alBottom;
panel2.align:=alLeft;
panel3.align:=alRight;
Delphi-Quellcode:
procedure TForm1.FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
var
faktor: real;
begin
faktor := Height / NewHeight;
panel2.Height := round(panel2.Height / faktor);
panel3.Height := panel2.Height;
panel1.Height := round(panel1.Height / faktor);
Resize := True;
end;
hab's leider nicht getestet, da ich grad kein delphi hier hab, aber müsste so klappen...