怎样限制Form最小的高度和宽度? ( 积分: 50 )

  • 主题发起人 主题发起人 popolemon
  • 开始时间 开始时间
P

popolemon

Unregistered / Unconfirmed
GUEST, unregistred user!
在Resize里面设置的时候调整时不好看。<br>在Constranints里面设置MinHeight和MinWidth的时候,只有右下角可以用,其他的3个角改变大小的时候Form会飞起来。
 
在form属性中,有个clientHeight和ClientWidth属性,就是控制form的最大高和宽的
 
好像是2007的Bug,CB2007,D2007,.NET2007都是一样会飞起来,大家试试看。
 
只知道D6,&nbsp;D7&nbsp;没有问题
 
zyxxfrm.Width:=692;<br>&nbsp;&nbsp;zyxxfrm.Height:=515;
 
我在&nbsp;D2006&nbsp;下测试,在Constranints里面设置正常。<br>如果不行的话,可以用消息控制:<br>。。。<br>type<br>&nbsp;&nbsp;TForm1&nbsp;=&nbsp;class(TForm)<br>&nbsp;&nbsp;private<br>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;Private&nbsp;declarations&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;procedure&nbsp;WMGetMinMaxInfo(var&nbsp;MSG:&nbsp;Tmessage);&nbsp;message&nbsp;WM_GetMinMaxInfo;<br>&nbsp;&nbsp;public<br>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;Public&nbsp;declarations&nbsp;}<br>&nbsp;&nbsp;end;<br><br>。。。<br><br>procedure&nbsp;TForm1.WMGetMinMaxInfo(var&nbsp;MSG:&nbsp;Tmessage);<br>Begin<br>&nbsp;&nbsp;inherited;<br>&nbsp;&nbsp;with&nbsp;PMinMaxInfo(MSG.lparam)^&nbsp;do<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;ptMinTrackSize&nbsp;do<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;:=&nbsp;300;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y&nbsp;:=&nbsp;150;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;ptMaxTrackSize&nbsp;do<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;X&nbsp;:=&nbsp;350;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Y&nbsp;:=&nbsp;250;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;end;<br>end;
 
设置&nbsp;Constraints.MinHeight&nbsp;和&nbsp;Constraints.MinWidth&nbsp;已经够用了,飞起来也没改变最小宽度和高度,不影响使用啊,要不直接设置&nbsp;BorderStyle&nbsp;为&nbsp;bsSingle&nbsp;或&nbsp;bsDialog&nbsp;不允许调整大小。
 
设置&nbsp;Constraints
 
学习了。。。
 

Similar threads

D
回复
0
查看
842
DelphiTeacher的专栏
D
D
回复
0
查看
848
DelphiTeacher的专栏
D
D
回复
0
查看
928
DelphiTeacher的专栏
D
D
回复
0
查看
683
DelphiTeacher的专栏
D
后退
顶部