5

当父级更改宽度或高度时,您首选的保持控件以父级为中心的方法是什么?

4

3 回答 3

7

如果“居中”是指“它已经在中间,并且您想将其保留在那里而不调整其大小”,则删除所有锚点。如果应该调整大小,gabr 的解决方案是:)

于 2008-11-24T10:11:26.573 回答
5

将控件的 Anchors 属性设置为 [akLeft, akTop, akRight, akBottom]。

于 2008-11-24T09:49:24.827 回答
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;
于 2008-11-24T10:49:52.160 回答