A graphical form designer/developement aid for DOS.
Designed to develop applications that use the DOSStart!
graphics routines
and are compiled using the MS-QuickBASIC 7.1 compiler.
Program Overview
Program Screen Shots
Download GUI-Build vB2.3 /w documentation and demo program (451k) (Build 6.6.2001)
README.TXT (included with distribution)
Graphics routines documentation (included
with distribution)
Build 6.6.2001
- Fixed program crashing when text is selected bug
Added with Build 5.17.2001
- Enhancements to drop-down boxes: Drop-down spec editor has the new
option "display text search field"
Added with Build 1.11.2000
- Automatic saving of working form in case of abnormal program termination
(this is loaded at next program restart after an abnormal exit only)
- Better handling of selecting List-Boxes and their associated scrollbars
DOS Start is built using Microsoft QuickBASIC Extended 7.1, but it uses a set of functions, collectivly called the "DOS Start graphics routines" to provide the graphical interface elements (such as buttons, scrollbars, title-bars, etc).
Using these routines combined with this development tool, graphical DOS applications that use an event-driving programming style can be developed in QuickBASIC 7.1 with relative ease.
The graphics routines handle the drawing of various elements of the graphical interface, and they "animate" these objects, and, to a limited extent, coodinate their working together. The graphics routines also provide font support that is faster and smaller than what comes with QBX. They also provide a new icon/image format, IDRAW, specifically designed to be fast and simple, yet well-fitted for the pourposes it was designed for.
While an analogy to VisualBASIC is tempting, this is actually a quite different approach. Like VisualBASIC, you first design your forms, using GUI-Build. You also define what events you wish to respond to during this step.
Unlike VisualBASIC, you code the event-responses in QBX. Further, the graphics routines merely "notify" you of an event by sending you a number that you specified. What happens in terms of function calls and such is then done using "traditional" QBX programming.
When you manipulate and object, you tell the graphics routines to refresh that object by marking it as unfreshed. The graphics routines will then refresh it, and mark it as "recently refreshed". In effect, you have a 2-way messaging system.
You manipulate the objects on a form at runtime by altering values in an array, and you check what selections a user has made by reading these values. GUI-Build allows you to preset values in the form (and make the form itself) BEFORE runtime, saving you from knowing pixel coodinates and looking up values that correspond to certian object behaviors in the documentation.
The graphics routines documentation serves as a reference to what positions in the arrays hold what type of values. The various functions that may be called to alter objects and/or serve as utilities are also documented.
While using these routines, you can still draw graphics manually using the QBX functions, and the refresh/unrefreshed flags on each object allows you to draw on top of a graphics object, and know when to redraw, based on the refresh state of the graphics object (such as a window).
The disappearing toolbar allows you to create graphical
objects with a single-click.
After you create an object, you can move and resize it with the mouse.
Notice the rulers which appear to aid you in resizing/moving objects
on the left and bottom.
After an object is created, you use the "Properties" window to fine-tune
the object's settings.
These include the event, the event response number, the mouse button,
and a shortcut key.
Some object-types have more properties to set than others. The
displayed object, a List-Box, has
so many properties that a separate window contains most of them;
it is accessed by clicking the "ListBox Properties" button........
This shot shows the second properties window specifically for list-boxes,
mentioned above:
The hidden menu-bar provides access to most of GUI-Build's features:
The Object List window allows you to see what objects are in what possitions,
allowing you to set how they overlap each other. You can also
easily mark/unmark
objects from here before carrying out other operations such as Align
or Move.
To make objects line up with each other automatically, use this window:
To enter data into List-Boxes and Drop-Down boxes in the "LBITEM" format,
which is used throughout DOS Start, use the "LB/DD Editor":
To create icons to be used on buttons or elsewhere in your program,
use the Icon Editor.
This editor includes support for typing text into an icon using any
available .DSF format font.
You can also have a transparent area (green with slash) and an area
whose color
is defined when the icon is displayed, not when it is drawn
(black with slash).
The graphics routines include a function to load custom mouse-pointers
and/or to alter
the mouse pointer to indicate something to the user.
You can use the "Pointer Editor" to make custom mouse-pointers or to
edit the ones that
are included with GUI-Build.
While saving the form as a .OBJ file, which can be loaded at runtime,
keeps your programs
small, you can optionally have GUI-Build code a whole subroutine for
you that can
be pasted into your QBX program; this way, you only need to fill in
the event-responses:
To help you with finding and useing all these features, GUI-Build has
a context-sensative
on-line help system with hyperlinks.
Even the graphics routines documentation is included in the GUI-Build
help system.
