当父级更改宽度或高度时,您首选的方法是将控件保持在其父级中心?
答案 0 :(得分:7)
如果通过'居中',你的意思是“它已经在中间,而你想在不调整大小的情况下将它保留在那里”,然后移除所有锚点。如果它应该调整大小,那么gabr的解决方案就是:)
答案 1 :(得分:5)
将控件的Anchors属性设置为[akLeft,akTop,akRight,akBottom]。
答案 2 :(得分:0)
如果你的意思是某种“更新,请稍候......”类型的东西,我在Form的OnResize事件中手动移动它。这允许我在设计过程中保持面板不被遮挡,并且正常隐藏,但我可以在需要时使其可见。
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;