Tips for Building Single-interface Programs

Here are some ideas for simplifying the task of supporting a single user interface on both character and graphical systems:

  1. If you plan to use the bar, scroll bar, tab, or bitmap controls for your graphical programs, make sure you program alternatives for the character-based systems (in other words, build a dual-interface program for these elements).
  2. Make sure you establish a sensible cell size. This is the only way you can hope to have a single set of coordinates describe screens that look good under both character and graphical systems.
  3. Provide plenty of space between elements on the same line. Items that appear to be nicely separated on a graphical system may well overlap under a character-based system. This occurs because the labels and control titles are narrower on a graphical system due to the nature of the proportional font used.
  4. If you use frames, design them on the graphical system. The run-time automatically grows frames as needed on character-based systems to surround the contained controls.
  5. In general, try to keep the screens simple. The more complex they are, the harder it is to achieve a nice look under both types of systems.
  6. Try to use a single size font under the graphical system. The character system has only one size, so you can get more uniform results if you do the same under graphical systems.
  7. For cases where you cannot get a nice look under both systems using a single set of coordinates, use the CLINE, CCOL, CSIZE and CLINES options. These allow you to specify alternate coordinates and dimensions for character-based systems. This lets you customize the placement of screen elements for both graphical and character systems, giving you finer control. See The Character Coordinate Phrases for more information about these phrases.