The FPDoc description of TAnchorSide looks wrong to me. IMO it should reflect the following:

Every side of a TControl can be anchored to another control, as described by TControl.AnchorSides[side].

TAnchorSide.Owner is the control *to be* anchored.
[should read: Control]
[ctrl.AnchorSide[side].Owner = ctrl]

TAnchorSide.Kind is the control side (index in AnchorSides).
[should read: ControlSide]
[ctrl.AnchorSide[side].Kind = side]

TAnchorSide.Control is the anchor control,
[should read: AnchorControl]

and TAnchorSide.Side is the side of that control, *to* which Owner is anchored or aligned (plus asrCenter).
[should read: AlignTo]

If this is correct, the FPDoc should be updated accordingly.


This is how IMO a control can be anchored:

Normally the TControl.Top/Left is the absolute control origin within its Parent, Width/Height is the absolute extent (size) of the control.

The sides of a control can be anchored to its Parent (ClientRect) sides, as specified by TControl.Anchors. For every such anchored side the distance to the Parent.ClientRect is preserved when the Parent is resized.

Lazarus adds another anchoring method to beforementioned Delphi compatible anchoring:

AnchorSides[] allow to anchor the control to other controls (siblings only?). For every side a TAnchorSide object can specify the control and its side, to which the control's side is anchored. For every such anchored side the distance to the anchor control is preserved, as specified in the control's BorderSpacing.


DoDi


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to