【发布时间】:2015-04-28 01:19:39
【问题描述】:
我尝试最大化宽度并保持高度。我用的是delphi xe4, windows 7, 1,440 * 900 2 显示器。
高度限制通常效果很好,但是当它超过某个值(859)时它就不起作用了。
我猜是因为windows snap 功能,但即使关闭后还是一样。
当我在没有任务栏的子监视器和带有任务栏自动隐藏的主监视器中执行此操作时,它运行良好。任务栏似乎有问题。
请帮助解决这个问题。谢谢。
procedure TForm1.Button1Click(Sender: TObject);
begin
Constraints.MaxHeight := 859; // works well
WindowState := wsMaximized;
Caption := IntToStr(Height);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Constraints.MaxHeight := 860; // doesn't work
WindowState := wsMaximized;
Caption := IntToStr(Height); // maximized as 876
end;
procedure TForm1.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer);
begin
MaxHeight := 860; // doesn't works and is maximized as 876
end;
【问题讨论】:
-
如果你想限制窗口的大小,为什么要最大化它?
-
WorkArea 维度是什么?例如,您可以使用
Screen.WorkAreaRect从全局屏幕变量中获取此信息。 -
@DavidHeffernan 不要全角移动
-
这不是最大化的意义所在。我认为您应该描述最初的问题,而不是您尝试的解决方案。
-
@DavidHeffernan 这是最初的问题。我需要制作一个全宽 * 860 的图表窗口,应该在所有尺寸的显示器中使用。
标签: delphi