2008-11-24 14 views

cevap

7

Eğer 'ortalanmış' ile demek istediyseniz, "zaten ortadaydı ve yeniden boyutlandırmadan orada tutmak istersiniz", sonra tüm bağlayıcıları kaldırın. Yeniden boyutlandırılması gerekirse, gabr'ın çözümü olanıdır :)

5

Kontrole ait Anchors özelliğini [akLeft, akTop, akRight, akBottom] olarak ayarlayın.

+0

Gerçekten de bunu yapmanın yolu budur. –

+0

Bu, childcontrol yeniden boyutlandırmak için izin olduğunu varsayar. – Vegar

+0

Evet. Diğer cevap, yeniden boyutlandırma yaklaşımını açıklar. – gabr

0

Bir tür "güncelleştirme, lütfen bekle ..." türünü kastederseniz, bunu formun OnResize olayına el ile taşıyorum. Bu, tasarım sırasında bir paneli uzak tutmamı ve normal olarak gizlenmemi sağlıyor, ancak gerektiğinde görünür hale getirebiliyorum.

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; 
İlgili konular