如何将表格最大化到桌面大小?

在 Windows 10 上运行的 Delphi 10.4.2 Win32 VCL 应用程序中,在双显示器设置中,当我将 MainForm(或任何其他辅助窗体)设置为通过设置开始最大化时WindowState := wsMaximized,该窗体仅在主监视器上最大化。

如何将表单最大化到整个桌面,以将表单大小设置为包括两个监视器?是否有类的内置方法TForm来实现这一点?

回答

一般来说,这个问题并不像你想象的那么简单。我想你正在想象这样的桌面:

在这种情况下,我假设您希望窗口像这样放置:

但是,如果用户有这个布局怎么办:

你想要

(整个窗口可见,但一些屏幕空间未使用)或

(没有未使用的空间,但窗口的某些部分不可见)?

如果你想使用完整的虚拟桌面空间——最后一种情况——虽然很容易:

BoundsRect := Screen.DesktopRect;

这将在一个简单的设置中完成预期的事情,并且一般来说“没有未使用的空间,但窗口的某些部分可能不可见”。

另请注意,Windows 不喜欢这样的窗口行为,因此用户在使用该应用程序时可能无法获得良好的体验。

一般来说,不要这样做。


请注意,即使是两台显示器都是横向的双显示器设置,也可能很重要:

即使两个显示器的尺寸相同,几何形状也可能不重要:


以上是如何将表格最大化到桌面大小?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>