如何设置大于1096像素的表格高度?

时间:2016-02-23 12:33:48

标签: delphi c++builder vcl

我正在使用C ++ Builder XE7并遇到一个奇怪的问题。我需要一个大约1500像素的表格高度。问题是对象检查器不允许我指定大于1096像素的值。如果我设置任何更大的值,它将自动设置为1096 ..任何现有或新的表单上都存在问题。我使用的是屏幕分辨率为1920x1080的Windows 7。

1 个答案:

答案 0 :(得分:14)

这种行为的原因是,当您没有为表单大小设置约束时,Delphi将通过WM_GETMINMAXINFO消息在系统级自动获取约束,当delphi通过{设置表单大小时触发该消息{3}}功能。对于最大高度,Delphi使用ptMaxTrackSize.Y成员,在我的Windows 8.1系统(1920x1080分辨率)上恰好是1092.

因此,如果要强制表单高度高于系统桌面高度,则必须使用Constraints.MaxHeight来覆盖此行为。您可以通过在TCustomForm.WMGetMinMaxInfo单元中的Vcl.Forms过程中设置断点来检查这一点。

相关问题