保持控制的首选方法是调整大小

时间:2008-11-24 09:38:31

标签: delphi vcl

当父级更改宽度或高度时,您首选的方法是将控件保持在其父级中心?

3 个答案:

答案 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;