如何在Delphi中防止窗体大小调整?

3

如何防止表单大小被调整?我不想让它最大化(可以通过属性编辑器切换),但我也不希望任何人能够拖动调整它的大小。我是否忽略了一些简单的东西,还是需要进行一些编码?

我正在使用Delphi 2007。

6个回答

18

TForm有你需要的属性。将

BorderStyle设置为bsSingle

这样窗体看起来就不可调整大小,而实际上它还有一个好处,那就是它不能被调整大小。 :-)


4

您可以将BorderStyle设置为bsDialog。


3

不要忘记TForm的约束属性,例如MaxHeight、MinHeight、MaxWidth、MinWidth。


2
还有OnCanResize、OnConstrainedResize事件。 - Ondrej Kelle
@TOndrej 谢谢你提醒我,我甚至没有注意到它们。+1 - Ian Boyd

1

你也可以将BorderStyle设置为bsSingle,这将给你一个适当的顶级框架,带有图标和其他所有内容。


1

如果你想要进一步深入(即上面的答案更好),你可以拦截RESIZE窗口信息。

我个人会选择使用Constraints属性。

祝好!


0

将边框样式设置为 bstoolwindow。 窗口只会有关闭按钮和标题栏。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接