|Windows with Delphi|
Windows API (94)
Windows Filesystem (41)
Windows Forms (69)
Windows Graphics (38)
Form scaling and the large fonts/small fonts issue
This article has not been rated yet. After reading, feel free to leave comments and rate it.
This is usually a problem of large fonts (120 dpi) vs small fonts (96 dpi) settings. The user can change these settings as part of the display options in control panel. You can check the settings at run-time by looking at Screen.PixelsPerInch.
Different ways have been suggested to create forms that will work well on both settings. The most important one is to use TrueType fonts (like Arial) only in your forms. Ms SansSerif, the default, is TT on NT but not on Win9x!
A final issue you may need to take care of is the users screen size (in pixels). If you design your forms to run well on 800*600 the user will have a problem if he is running 640*480. So your forms should check the screen size (Screen.Width, Screen.Height) in their OnCreate handler.
If the screen is too small for the form the form should resize itself to the screen size (or better the work area size, see SystemParametersInfo(SPI_GETWORKAREA) and set its AutoScroll property to true. It will then automatically sprout scrollbars, so the user can at least access all parts of the form. Trying to rescale the form to the smaller screen size will almost never result in a usable form, so I don't consider this an option.