有什么方法可以阻止用户调整表单大小吗?
目前我正在使用:
当表单大小改变时......
MainForm.Height := 761;
MainForm.Width := 777;
但这看起来很可怕,因为当用户尝试更改表单大小时它会闪烁。
固定尺寸很简单,你有两个选择:
Delphi 窗体有一个BorderStyle
财产和BorderIcons
财产。如果你设置BorderStyle
to bsDialog
, and BorderIcons
to biSystemMenu
只是,用户无法调整表单的大小。
您可以指定值Constraints
财产。如果您写入相同的数字MinWidth
and MaxWidth
,宽度将被固定。
防止移动更棘手。我现在只能想出这些解决方案:
Set BorderStyle
to bsNone
。如果需要,您需要自己绘制表单标题。
编写消息处理程序WM_NCHITTEST
,先调用继承,然后检查Message.Result
for HTCAPTION
。如果是HTCAPTION
,将其设置为HTCLIENT
反而。这样,你就可以欺骗 Windows 认为用户没有单击标题,因此他将无法拖动。请尝试用户是否仍然可以移动窗口,打开系统菜单,然后选择“移动”。如果是这样,您也必须隐藏系统菜单(BorderIcons
).
找到答案here http://en.allexperts.com/q/Delphi-1595/Making-window-fix-positioned.htm.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)