jgslater:
I was not talking about resizing but rescaling.
Resizing is the usual way Win/Delphi uses to do things, basically when the form size changes and not involving font size changing. Resizing have no direct use in screen definition changes, as it is tied to the form sizes, which in turn are basically not tied to screen resolution (forms can be tied to resolution if you want, but this is not the defined behavior in Win).
Rescaling is about proportional changes in the visual components (width and height), due not only to form size changes but to resolution changes too (auto-rescaling windows changes sizes when resolution changes). Font size changes are a mandatory part of rescaling.
From my experience, rescaling is pretty tricky, and any time you install your program in a new machine you find yourself praying to St. Von Neumann, as some graphics cards can screw up your font management. And Win can play tricks, and user settings can play tricks too.
So, after some tests I dropped rescaling and reverted to normal resizing and anchoring. It is a work of patience (at least for me) but, between some limits, it can be done. Furthermore, most users switching say, from 1024 to 1280 horizontal, are not trying to see bigger things but more things, so scaling up is not what they want.
And yes. If a program designed for 1024 is switched to 640 it will show scroll bars. What is bad. But proportionally rescaling down it to nearly one half is not necesarily better, as some letters can become difficult to read and some icons screwed... and the program was not designed to work in 640 to start with

.
I have no doubt a nearly-perfect rescaling algoritm is possible. What I don not believe is it being worth the work.
Your move
buho (A).