Hi
After thinking about how to integrate this new feature into the existing object hierarchy, I first came to the conclusion that we could use a MessageInterceptor-derived object. It could be attached to any existing object and it automatically would become the new behaviour. However, this solution has a few pitfalls, in particular with dialogs.

The alternative is to integrate the code in a base object like WinPrimer. Since not all WinPrimer derived objects require this functionality, we will use the Window object, whose ancestor is WinPrimer and adjust the object hierarchy.
This way, only objects that derive from Window will become the layout feature, like WinApp, SdiApp, etc. and all dialogs.

After reorganizing the inheritance tree and I modified the last example to show how it works on the SdiApp and the dialog objects. The new binary is attached.
In the implementation I added a header to the array of definition structures to add information about the min and max size and some flags. As a convenience, a gripper can be added.

Biterider