>1. Only TControls can be put into TWinControl and a layouter is not a visual 
>thing itself.
>2. a layouter can be used by several controls.

Ok, I agree with Michael and Mattias that a separate layout component
and a TWinControl.Layout property is the only way that satisfies all
the requirements.


>>>Simply drop 2 layouters, and point them to the right parts of the form.
>>With the result that the form is crowded with layouters :-(
>I would be very surprised to see more than 4 layouters on a form.
>Most forms will have a single TTableLayout or TBorderLayout component, and 
>that's it.

I think one possibility to avoid excessive number of Layouters is to
create a concept
of "built-in" layouter for each component.
If chosen appropriately, such layouter may serve as a good default for
simple application,
as well as provide backwards compatibility with the current implementation.
Anyone interested may look at TChartSeries.Source /
TChartSeries.FBuiltinSource fields
in TAChart component for an example.

The only inconvenience is that Object Inspector and streaming
subsystem currently do not
fully support editing of properties of such built-in component, but I
think that
is not too hard to add.

-- 
Alexander S. Klenin

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

Reply via email to