SUBJECT: Window demonstration using a library file
BY: Tom Meeks (301) 933-4309
The purpose of this upload is to demonstrate how to use screens to create
windows that can be stored in a window library. The goal for the windows
library is two-fold. First, to permit more complex windows to be created.
Second, to save memory by permitting the windows to be called directly from
There are three programs in this package. I have purposely left them as
individual entities so that their functions do not get confused. They
must be run in the following order.
PROGRAM #1: MAKE_SCR.PRG
MAKE_SCR.PRG converts the SoftCode .SCR files to .MEM files and allows for
a rather simple viewing of all the screens and window builds. DISPLAY.COM
and SENDCMD.COM are modules created by Software Bottling Company to use with
Foxbase+ and FoxPro.
The most important thing to note here is that the screen groups use the same
variable name. This allows many screens to be called into the program
without taxing memory... each overwrites the last. Screens stored to disk
are retrieved very fast. They are:
DEMO_01.SCR - Background screen #1
DEMO_02.SCR - window build drawn over background screen
DEMO_03.SCR - Background eliminated from screen - window measured
DEMO_04.SCR - Window positioned to top left of screen - Final Window
DEMO_11.SCR - Background screen #2
DEMO_12.SCR - Second demonstration window
Notice that the shadows have been drawn on the screen. This permits us to
control the size of the shadows to change the apparent offset from the
background screen. 'Half Shadows' are near the background, 'Full Shadows'
(FoxPro's default) stand off a medium standoff and other shadow schemes
show even more offset from the background. Notice the changes in the
size of the shadows as an item overlaps two or more planes.
Note also the use of the half-character (top or bottom) in the panels.
FoxPro normally breaks panels on a full-character. The half-character
gives us extra head-room and foot-room, with a shadow, in a single line.
PROGRAM #2: MAKE_WIN.PRG
MAKE_WIN.PRG turns the screens into windows and puts the windows into a
library file. It assumes that the visual information for the window will
be found in the top left corner of the screen.
PROGRAM #3: SHOW_WIN.PRG
SHOW_WIN.PRG runs a short demo program that sets the screens then calls
the windows from the library file.