【发布时间】:2008-11-24 09:38:31
【问题描述】:
当父级更改宽度或高度时,您首选的保持控件居中于其父级的方式是什么?
【问题讨论】:
当父级更改宽度或高度时,您首选的保持控件居中于其父级的方式是什么?
【问题讨论】:
如果“居中”的意思是“它已经在中间,并且您想保留它而不调整它的大小”,则删除所有锚点。如果应该调整大小,gabr 的解决方案是:)
【讨论】:
将控件的 Anchors 属性设置为 [akLeft, akTop, akRight, akBottom]。
【讨论】:
如果您的意思是“更新中,请稍候...”类型的东西,我在 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;
【讨论】: