【问题标题】:How to use minWidth, minHeight of a DevExpress LayoutControl?如何使用 DevExpress LayoutControl 的 minWidth、minHeight?
【发布时间】:2010-08-19 19:30:06
【问题描述】:

我已经开始使用 DevExpress LayoutControl 了。感觉很强大,但我没有得到我想要的。我想设置组件的最小宽度和最小高度,因为你不能有一个真正小的对话框,它仍然看起来不错。同时我想让用户有任意大的尺寸,让组件拥有相等的宽度和高度。而且我不想要任何滚动条。我怎样才能做到这一点?

还有一件事。由于其他情况,我仍然使用旧版本的 Devexpress 6.38。最新版本的 LayoutControl 是否修复了许多错误?难道是这个阻止了我?

/罗兰

【问题讨论】:

    标签: delphi layout devexpress delphi-2007


    【解决方案1】:

    我认为您不能在 LayoutControl 中指定控件的最小高度/宽度。你当然可以使用标准的constraints 属性,它可以工作,但看起来很难看。

    问题是你到底想达到什么目标? LayoutControl 尝试调整它的控件大小,以使一切都尽可能适合。由于在太小的空间中包含许多控件,滚动条会出现,但还会发生什么?

    设置一个可调整大小的布局的关键是调整布局项/组的AlignHorizAlignVert 属性。将这些设置为ahClient/avClient 用于可调整大小的控件,例如备忘录或网格。此外,您通常希望 LayoutControls 的 AutoContentSizes[acsWidth,acsHeight]

    说到版本,我建议您升级到最新版本并尝试LayoutControl V2,与 v1 相比,它具有一些附加功能,例如支持拆分器和选项卡。

    这是一个简单的逻辑调整大小的表单示例,您可以将其粘贴到空表单:

    object dxLayoutControl1: TdxLayoutControl
      Align = alClient
      AutoContentSizes = [acsWidth, acsHeight]
      object Edit1: TEdit
        BorderStyle = bsNone
      end
      object Button1: TButton
      end
      object Memo1: TMemo
        BorderStyle = bsNone
      end
      object dxLayoutControl1Group_Root: TdxLayoutGroup
        ShowCaption = False
        Hidden = True
        ShowBorder = False
        object dxLayoutControl1Group1: TdxLayoutGroup
          AutoAligns = [aaHorizontal]
          AlignVert = avClient
          object dxLayoutControl1Group2: TdxLayoutGroup
            ShowCaption = False
            Hidden = True
            LayoutDirection = ldHorizontal
            ShowBorder = False
            object dxLayoutControl1Item1: TdxLayoutItem
              AutoAligns = [aaVertical]
              AlignHorz = ahClient
              Control = Edit1
            end
            object dxLayoutControl1Item2: TdxLayoutItem
              ShowCaption = False
              Control = Button1
              ControlOptions.ShowBorder = False
            end
          end
          object dxLayoutControl1Item3: TdxLayoutItem
            AutoAligns = [aaHorizontal]
            AlignVert = avClient
            Control = Memo1
          end
        end
      end
    end
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2015-10-10
      • 2011-07-10
      • 2011-10-03
      • 2019-06-12
      • 2016-08-27
      • 1970-01-01
      • 2010-12-15
      • 2021-11-26
      • 1970-01-01
      相关资源
      最近更新 更多