官方没有提供这两个方法,但我们有时候需要调整 FMX 的布局,而这一切都需要修改 FDisableAlign 这个受保护的成员的值,而要修改它的值,在以前的文章中提供了好几种方法,当然最简单的是直接加 class helper。这里我们就采用这一办法。
type
TAlignChildHelper = class helper for TControl
function DisableAlign: Boolean;
function EnableAlign: Boolean;
end;
{ TAlignChildHelper }
function TAlignChildHelper.DisableAlign: Boolean;
begin
Result := not FDisableAlign;
FDisableAlign := True;
end;
function TAlignChildHelper.EnableAlign: Boolean;
begin
Result := not FDisableAlign;
if Result then Exit;
FDisableAlign := false;
Realign;
end;
代码很简单,不需要解释,上面的函数都是返回之前是否允许对齐。要禁止对齐,就调用控件的 DisableAlign,允许对齐就调用 EnableAlign 就可以了。