这个问题适用于两种情况。
(1)
第一个是有一个 MDI 窗体和 MDI 子窗体,在运行时,如果我尝试水平或垂直调整窗体的大小,我无法越过主 MDI 窗体的边缘,某处必须有一个 SetBounds 或类似的东西来防止这种类型的行为,因为鼠标刚刚捕捉到边缘。
我想要的是能够调整 MDI 表单边界 rect 的过去/之外的大小 - 然后会在主 MDI 表单上显示滚动条(就像您移动子表单时一样)。
(2)
第二个是我发现 MDI 布局应用程序中的滚动有点烦人,而且使用起来不太舒服,所以我认为我可以通过在 TScrollBox 中设置一个表单来模拟它,而不是使用 MDI,这样做我希望能提供更好的流畅性滚动。但与第一个场景一样,将表单放置在 ScrollBox 内仍然不允许在客户端外部调整大小 - 并且当您在 ScrollBox 周围移动表单时,执行此方法甚至不会显示滚动条。
您可以通过创建一个新的 MDI 应用程序来快速尝试此操作。尝试使用右下角调整大小并尽可能向右侧/底部拖动,鼠标停在主 MDI 客户端上,防止外部调整大小。
那么,如何在运行时允许在父边界之外调整窗体的大小,无论它是 MDI 子窗体还是 TScrollBox 的父窗体?
我是否需要设置一个我可能忽略的简单属性,或者是否需要做更多工作,例如覆盖表单的消息?