gpt4 book ai didi

delphi - 是否可以将 Form.Width 设置为 10000 像素?

转载 作者:行者123 更新时间:2023-12-03 19:24:47 24 4
gpt4 key购买 nike

当您编译空白表单并尝试使用鼠标调整其宽度时,当它的客户端宽度接近屏幕分辨率宽度时,它可能会停止。

即使在设计师中也无法设置更宽的形式。 (很奇怪,我永远不会认为它会发生)。我也玩过约束,但这也不是解决方案。

是否可以将 Form.Width 设置为 10000 像素?

最佳答案

窗口大小受系统限制 - 您可以使用函数 GetSystemMetrics(SM_CXMAXTRACK) 检索此值- 我的 1280x1024 显示器是 1292。

为了让您的表格更宽,您可以将消息 WM_GETMINMAXINFO 提供所需的最大尺寸:

procedure WMGETMINMAXINFO(var M: TWMGetMinMaxInfo); message WM_GETMINMAXINFO;
...
procedure TForm1.WMGETMINMAXINFO(var M: TWMGetMinMaxInfo);
begin
M.MinMaxInfo.ptMaxTrackSize.X := 5000;
M.Result := 0;
inherited;
end;

使用这样的消息处理程序,我可以设置 Width := 5000;在运行时成功。

通常你应该可以使用 Constraints表单的属性并设置其 MaxWidththis answer 中实现此目的但是 WM_GETMINMAXINFOTCustomForm在 Delphi 7 中有缺陷。调用 ConstrainedResize来自消息处理程序的方法取决于一些 FSizeChanging bool 字段,不幸的是从未设置为真。这已得到纠正,并且该字段在 D2007 和 DXE 之间的某处被删除。

关于delphi - 是否可以将 Form.Width 设置为 10000 像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51582680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com