Solved

Form Sizing

Posted on 1997-03-24
3
221 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?
0
Comment
Question by:dug
  • 2
3 Comments
 

Accepted Solution

by:
morwoodk earned 50 total points
ID: 1334943
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
 
LVL 3

Expert Comment

by:mheacock
ID: 1334944
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
 

Expert Comment

by:morwoodk
ID: 1334945
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

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question