delphi:窗体大小如何根据电脑屏幕自动调整窗体大小?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi:窗体大小如何根据电脑屏幕自动调整窗体大小?相关的知识,希望对你有一定的参考价值。

delphi:窗体大小如何根据电脑屏幕自动调整窗体大小?麻烦提供完整代码,谢谢

利用Screen对象

procedure TForm1.FormCreate(Sender: TObject);

begin

  Form1.Width := trunc(Screen.Width * 0.8);

  Form1.Height := trunc(Screen.Height * 0.8);

end;

追问

窗体上的的控件怎么不跟窗体大小而改变呢?

追答

你又没说....要 调控件.....

举例 窗口上只有一个按钮button1
button1的top、left 始终为窗体高度、宽度的10%
窗体create和resize事件都设置其 top,left ,这样窗体大小调整,
按钮 位置跟着“自动”调整
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Left := Trunc(Form1.Width*0.1);
Button1.Top := Trunc(Form1.Height*0.1);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
Button1.Left := Trunc(Form1.Width*0.1);
Button1.Top := Trunc(Form1.Height*0.1);
end;

追问

报错,这个是什么问题啊?

参考技术A 如果是最大化的话,把align属性设为alClient就以了,不管屏幕多大,或多小,反正满屏嘛

c#winform太大安装到小屏幕电脑显示不全,怎么实现自动适应并显示所��

跟分辨率有关.我不是很清楚,不过理论上,NET没有提供自适应技术.

无论是窗口大小,字体,都要自己控制.
WindowState=Maximized或许能满足一定需求,不过只是让窗口和屏幕一样大,控件字体大小也不变.

你可以在窗体构造函数里添加一个 初始化函数 用来判断,调整窗体/控件/字体
Screen.PrimaryScreen类可以获取显示器相关信息,包括分辨率,详细请百度
参考技术A 做winform的时候,有个属性WindowState,值选Maximized就行了,这样会根据电脑屏幕大小自适应。

以上是关于delphi:窗体大小如何根据电脑屏幕自动调整窗体大小?的主要内容,如果未能解决你的问题,请参考以下文章

c# winform 如何让窗体能根据显示器大小自动调节大小呢?

delphi7中怎样调整程序适应不同的显示器尺寸?

DELPHI 怎么加载模版 在窗体内打开网页 网页随窗体的大小而自动改变 窗体随屏幕的大小而自动改变

delphi打开时窗体大小怎以设置

在 Windows 窗体控件中调整大小以及窗体调整大小

如何调整窗体上的控件大小以适应不同的分辨率?