[Lazarus] Testing 0.9.29
Mattias Gaertner
nc-gaertnma at netcologne.de
Sun Feb 20 10:33:29 CET 2011
On Sat, 19 Feb 2011 23:58:36 +0100
Hans-Peter Diettrich <DrDiettrich1 at aol.com> wrote:
> Mattias Gaertner schrieb:
>
> >>> Does the VCL automatically change the Anchors?
> >> tested with turbo delphi.
> >>
> >> No the anchor is not changed.
> >> but the behaviour is consistent.
> >>
> >> The Anchors are not used if size changes from autosize
> >
> > If the VCL AutoSize ignores parts of the other layout settings then for
> > me this sounds "inconsistent".
>
> IMO LCL AutoSize tries to be too clever. In fact an "inner" resize,
> required to e.g. adjust the required width of an label, should be
> separated from an "outer" resize/realign, forced by a resize of the
> container.
That would contradict the rule that AutoSize:=true adapts to the
bounding box of the children.
> Extensions like AnchorSides and ChildSizing may look nice, but should be
> added only when really needed. Otherwise they can adversely affect
> requirements of specialized controls or containers. When a (text)
> Alignment has to be taken into account, this cannot be implemented in a
> common (TWinControl) class, because not all controls have such a
> property, in fact every control class can have its own properties that
> should steer their size and placement. When such an DoAutoSize method is
> virtual, every overridden implementation can add whatever additional
> layout information is required.
DoAutoSize is virtual.
> In the most useful model every control would have its own (configurable)
> layout manager, selectable from an (extensible) number of predefined
> layouts. In fact the DockManager already *is* such an *installable*
> layout manager...
A TDockmanager is somewhat more.
But I think a TLCLLayoutManager could be done similar to this. Maybe
TDockManager should be made a descendant of a TLCLLayoutManager.
> I wonder how one can implement installable DockManagers, and at the same
> time insists in non-installable layout managers :-(
>
>
> > Cross platform forms require a consistent layout engine.
>
> The form layout is always under control of the application, not affected
> by the target at all.
>
> When you mean an consistent adjustment, required for changed language or
> theme, then I agree. But multiple themes are not a matter of platforms,
> and have to be handled by Delphi for Windows as well.
I hope so.
Mattias
More information about the Lazarus
mailing list