我的表单超出了窗口的高度(当我使用拆分器时,它会改变面板的高度,从而改变窗体的大小)。
如何阻止它像这样调整大小?
答案 0 :(得分:3)
我假设你自己正在改变表单大小,因为我找不到让分割器自动完成的方法。您可以使用Screen
单元中的Forms
对象获取屏幕的高度。您只需针对Screen.Height
进行测试,或者如果您想更好地支持多个监视器,请针对Screen.MonitorFromWindow(Handle).Height
进行测试
未经测试的代码示例应该让您入门:
var MaxFormHeight: Integer;
NewFormHeight: Integer;
M: TMonitor;
begin
// Get the monitor that's hosting the form
M := M := Screen.MonitorFromWindow(Handle);
MaxFormHeight := M.WorkAreaRect.Bottom - M.WorkAreaRect.Top - Top; // Take into account actual available monitor space and the Top of the window
// Do your stuff to calculate NewFormHeight
if NewFormHeight > MaxFormHeight then
NewFormHeight := MaxFormHeight;
Height := NewFormHeight;
end;