当前位置 : 主页 > 编程语言 > delphi >

Delphi元素对齐 – 中心

来源:互联网 收集:自由互联 发布时间:2021-06-23
似乎对齐属性非常有效,但是可以对齐元素,因此如果所有元素都小于容器大小,那么面板上的所有元素都将对齐到彼此底部的所有元素?像顶部中心的东西. 像这样的东西: 或至少水平
似乎对齐属性非常有效,但是可以对齐元素,因此如果所有元素都小于容器大小,那么面板上的所有元素都将对齐到彼此底部的所有元素?像顶部中心的东西.

像这样的东西:

或至少水平,垂直,他们可以100%.

将元素放入自己的容器中,例如TPanel或TFrame,它是主容器的子容器.将子容器的Align属性设置为alCustom,并使用父容器的OnAlignPosition事件使子容器保持居中:

// Panel1 is the Parent container for the child panel...
procedure TMyForm.Panel1AlignPosition(Sender: TWinControl; Control: TControl;
  var NewLeft, NewTop, NewWidth, NewHeight: Integer; var AlignRect: TRect;
  AlignInfo: TAlignInfo);
begin
  if Control = ChildPanel then
  begin
    NewLeft := AlignRect.Left + ((AlignRect.Width - Control.Width) div 2);
    NewTop := AlignRect.Top + ((AlignRect.Height - Control.Height) div 2);
  end;
end;
网友评论