We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now

x

Form Sizing

dug
dug asked
on
Medium Priority
246 Views
Last Modified: 2010-04-04
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?
Comment
Watch Question

Commented:
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.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Commented:
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.

Commented:
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.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.