Form Sizing

I have created forms under the 800x600 resolution. I am looking for a way to resize my forms so they will be in prportion when the user changes the screen resolution within Windows.

Example: If the user changes to the 640x480 resolution my compents on the form will not be displayed unless the user scrolls to the correct location. Is there a easy way to do this, or do I need to perform caculations when the forms are fisrt created on startup of the application?
dugAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

morwoodkCommented:
It is always (!!) prudent to size your forms to accomodate the lowest common screen resolution.  In this case I would suggest you redo you forms before hand and let the user enjoy the extra screen space if they move from 640x480 to 800x600.

Manually recalculating your screen layouts (what you indicated you wanted to do) would make a lot of work for you and the results would be undesirable.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
mheacockCommented:
I would disagree.  You shouldn't limit your app to the lowest
common denominator if your user isn't saddled with such.

Sure, make sure your program will look fine at 640x480,
but make sure that it looks great at 1280x1024 too (which
is the resolution I always use).

I rmember VB would allow you to scale component postions by
percentage...therefore all components would appear in the
same position within the form (relatively) no matter the
resolution.

Perhaps the same can be achived with Delphi using the PixelsPerInch, Scaled, and ScaleBy properties.  There's not much help on them and I've never used them.

What you want to do will require a lot of additional work, but I think it is work well worth the effort for yur end-users.  Imagine if a program like Visio only appeared on your screen at a resolution of 640x480??

Perhaps add some time-saving controls (toolbars) to an enlarged form...don't add extra-functionality..but perhaps add some added convenience.
0
morwoodkCommented:
My experience with this type of problem is what lead me to the answer I gave you.  The problem is that those 'scale by' setttings in VB (and Delphi?) yield rather wonky interfaces that end up being hell to test and even worse to write documentation for.

If you are looking to add convenience for your users with extra buttons and such why not a 'wizard' type for that communicates with your other forms (and changes its appearance based on which form has focus?).

Incidentally, my answer to your original question is the stock answer you will get from any book on interface design.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.