2008-11-24 15 views

Antwort

7

Wenn mit "zentriert" meinst "es war schon in der Mitte und du willst es behalten, ohne es zu verkleinern", dann entferne alle Anker. Wenn es in der Größe geändert werden sollte, ist gabrs Lösung die Lösung mit :)

5

Setzen Sie die Anchors-Eigenschaft des Steuerelements auf [akLeft, akTop, akRight, akBottom].

+0

Dies ist in der Tat der Weg, es zu tun. –

+0

Dies setzt voraus, dass die Größe des Child-Controls geändert werden kann. – Vegar

+0

Ja. Die andere Antwort beschreibt den Ansatz der Nicht-Größenanpassung. – gabr

0

Wenn Sie eine Art "update, please wait ..." -Ding meinen, verschiebe ich es manuell in das OnResize-Ereignis des Formulars. Dies ermöglicht es mir, ein Panel während des Designs aus dem Weg zu halten und es normalerweise zu verstecken, aber ich kann es bei Bedarf sichtbar machen.

procedure TMyForm.FormResize(Sender: TObject); 
var 
    nNewTop : Integer; 
begin 
    inherited; 
    pnlRegenerating.Left := (ClientWidth - pnlRegenerating.Width) div 2; 
    nNewTop := (ClientHeight div 5) {* 4}; 
    if (nNewTop + pnlRegenerating.Height) > ClientHeight then 
    nNewTop := ClientHeight - pnlRegenerating.Height - 4; 
    pnlRegenerating.Top := nNewTop; 
end; 
Verwandte Themen