【问题标题】:Is there a way to prevent the IDE from resizing bsNone forms on open?有没有办法防止 IDE 在打开时调整 bsNone 表单的大小?
【发布时间】:2014-07-30 08:07:26
【问题描述】:

我有一个 FMX 项目,其中包含许多在设计时设置了 BorderStyle := bsNone 的表单,每次我打开其中一个表单时,IDE 都会将其高度增加 23 像素。我目前正在使用 XE5,但我在 XE2 中遇到了与我之前使用过的相同的问题。

该问题可以通过具有一种 FMX 表单的 vanilla 桌面项目重现,但使用 VCL 不会出现。

【问题讨论】:

    标签: delphi delphi-xe2 firemonkey delphi-xe5


    【解决方案1】:

    这在 XE6 中已修复。

    作为一种解决方法,您可以尝试在运行时设置 BorderStyle。

    【讨论】:

      【解决方案2】:

      我更熟悉旧版本的 Delphi 并且没有安装 XE2,但作为一种解决方法,您可以设置 Constraints.MaxHeight := [designtime height] 并查看这是否会阻止您看到的行为?

      【讨论】:

      • 不幸的是,firemonkey 表单没有 Constraints 属性。另一个问题 (stackoverflow.com/questions/8031685/…) 通过派生类和添加约束提供了该问题的解决方案,但是虽然我没有测试这是否能解决我的问题,但它似乎有点矫枉过正......
      • 此外,表单可能会在运行时调整大小。总是放弃所有这些更改或将随机文件的随机更改检查到版本控制中,这很烦人。
      • 我意识到 FMX 可能没有 Constraints 属性,但我认为我至少应该提到这种可能性。似乎运行时调整大小不会是一个大问题。在实例化表单的早期是否有任何时间可以获取设计时高度,将其保存到另一个变量,然后在表单实例化/显示后将其应用于高度属性?这将使调整大小更正自动化。
      • 我认为没有办法在应用程序实际启动之前自动更正高度,为了解决这个问题我必须这样做......
      • @Mark 也许这应该是评论而不是答案
      猜你喜欢
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 2021-08-30
      • 2021-03-14
      • 2015-01-12
      • 2021-12-27
      相关资源
      最近更新 更多