Solved

Form Sizing

Posted on 1997-03-24
3
224 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

751 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