You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RAD Studio保存Delphi窗体时组件自动对齐网格问题求助

RAD Studio保存Delphi窗体时自动调整组件尺寸的解决办法

问题现象

  • 保存Delphi窗体时,组件会自动对齐网格,导致布置好的窗体运行时因尺寸调整出现组件重叠
  • 从Git检出已有窗体,仅点击保存就会触发窗体尺寸调整,产生大量非手动修改的变更
  • 代码示例对比:
    修改前:
    object pnlTop: TPanel
      Left = 0
      Top = 0
      Width = 793
    
    修改后:
    object pnlTop: TPanel
      Left = 0
      Top = 0
      Width = 785
    
  • 已尝试关闭窗体设计选项中的「对齐网格」功能,但无效果

需检查的关键设置

以下几个容易遗漏的设置,逐一排查:

  1. 全局窗体设计器对齐设置
    除了单个窗体的设置,还要检查全局选项:

    • 点击「工具」→「选项」→「用户界面」→「窗体设计器」
    • 确保「对齐到网格」(Snap to Grid)未勾选
    • 同时确认「网格大小」数值,若网格尺寸过大,部分版本可能仍会隐性调整控件位置
  2. 窗体自身的缩放与约束设置

    • 选中窗体,在对象检视器中找到Scaled属性,设为False,避免设计器自动缩放控件尺寸
    • 检查Constraints属性,确保没有强制的宽高限制,防止窗体被自动调整大小
  3. 注册表级的布局调整禁用设置
    部分RAD Studio版本(如10.4及以上)有隐藏设置,需通过注册表修改:

    • 打开注册表编辑器,定位到HKEY_CURRENT_USER\Software\Embarcadero\BDS\<你的版本号>\FormDesigner
    • 添加或修改DisableAutoLayoutAdjust为DWORD类型,值设为1
    • 修改后重启RAD Studio生效
  4. 项目的DPI缩放设置

    • 打开「项目」→「选项」→「Application」→「Appearance」
    • 将「Scaling」设置为「None」或「Disable DPI scaling」,避免设计器基于系统DPI自动调整布局
  5. Git文件格式设置

    • 若Git行尾格式转换(LF转CRLF)导致.dfm文件被修改,会触发设计器重新解析布局
    • 在仓库根目录添加.gitattributes文件,写入*.dfm binary,强制将dfm文件视为二进制文件,避免自动转换行尾

内容的提问来源于stack exchange,提问作者Philip Long

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 22:45:18