delphi - 如何将按钮对齐到面板下方的中心、左侧或右侧?

标签 delphi

我想知道如何将 Button 对齐到 Center,或者极端 Left,或者极端 RightPanel 下方的位置。

我的麻烦是每次 Form 调整大小时 Button 永远不会停留在相同的位置。

例如 =>

  • 表格最大化:

enter image description here

  • 真实大小的表格(打开时):

enter image description here

最佳答案

使用 TRelativePanel作为布局组件。首先,将您的面板 upperPanel 放入其中。将 AlignHorizo​​ntalCenterWithPanelAlignTopWithPanel 设置为 True。然后,将您的按钮放在那里并将 BelowAlignRightWith 都设置为 upperPanelIt looks like this

更多信息: Using the Relative Panel

DFM(为方便起见而缩写)看起来像这样:

object Form1: TForm1
  object RelativePanel1: TRelativePanel
    Left = 0
    Top = 0
    Width = 537
    Height = 169
    ControlCollection = <
      item
        Control = upperPanel
        AlignBottomWithPanel = False
        AlignHorizontalCenterWithPanel = True
        AlignLeftWithPanel = False
        AlignRightWithPanel = False
        AlignTopWithPanel = True
        AlignVerticalCenterWithPanel = False
      end
      item
        Control = collapseButton
        AlignBottomWithPanel = False
        AlignHorizontalCenterWithPanel = False
        AlignLeftWithPanel = False
        AlignRightWith = upperPanel
        AlignRightWithPanel = False
        AlignTopWithPanel = False
        AlignVerticalCenterWithPanel = False
        Below = upperPanel
      end>
    Align = alTop
    BevelOuter = bvNone
    TabOrder = 0
    DesignSize = (
      537
      169)
    object upperPanel: TPanel
      Left = 143
      Top = 3
      Width = 250
      Height = 41
      Align = alTop
      Caption = 'upperPanel'
      Color = clSilver
      ParentBackground = False
      TabOrder = 0
    end
    object collapseButton: TButton
      Left = 359
      Top = 50
      Width = 34
      Height = 25
      Anchors = []
      Caption = '^'
      TabOrder = 1
    end
  end
end

关于delphi - 如何将按钮对齐到面板下方的中心、左侧或右侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50206726/

相关文章:

delphi - 执行嵌套 TRY/FINALLY 语句的最佳实践

delphi - POST 错误响应的 TIdHTTP 字符编码

delphi - 如何获取给定变体的实际类型的内存大小?

arrays - 如何在 Delphi 中将一个数组 append 到另​​一个相同类型的数组?

vb.net - Delphi:拦截 SWbemServices.ExecQuery 错误

delphi - 寻找 Delphi 库/组件来读取 .Net app.config 文件

delphi - 在 Delphi 中使用 dispInterface 且没有 classid

delphi - 在ClientDatSet中删除记录不会在我的XML文件中删除它

delphi - 如何根据触发事件处理程序的 TAction 来更改其行为?

delphi - 当 GetIt 包管理器失败时如何重置下载?