中心全屏应用程序

时间:2014-12-18 10:27:48

标签: delphi fullscreen

我目前正在开发一个全屏应用程序,我想要在屏幕上居中。我在表单上设置了以下设置:

WindowState:= wsMaximized
FormStyle:= fsStayOnTop

然而,由于形状高度和宽度远低于屏幕实际分辨率,因此表格会对齐到左上角。我还尝试在表单上使用“位置”设置,但这些设置似乎都没有达到预期的效果。它们要么没有效果,要么将整个最大化转移到右下角,从而能够看到背后的形式(我希望我已经足够好了)。

三江源

1 个答案:

答案 0 :(得分:3)

我理解你的问题的方式是,表单正确地最大化,但组件位于最大化表单的左上角,根据表单设计器中设置的Left和Top属性。

例如,设计师设计的表单:

enter image description here

最大化时显示的表单(这是问题):

enter image description here

如果我对问题的理解是正确的,那么解决方案是将所有组件放在TPanel上,然后将TPanel放在表单上。

有两种方法可以使TPanel居中 1)清除(设置为false)面板的所有锚点,如TLama在其评论中提供的link
2)将面板置于OnResize事件形式

procedure TForm4.FormResize(Sender: TObject);
begin
  Panel1.Left := (ClientWidth - Panel1.Width) div 2;
  Panel1.Top := (ClientHeight - Panel1.Height) div 2;
end;

结果如下:

enter image description here