|
PREREQUSITES
DLG is a set of universal components for building
"Application Frameworks" in C/C++, specifically
designed for ease of development and above-average quality (better than conventional
programming in many aspects). The requirements for using DLG are:
Resources:
C/C++ development system
(Currently Microsoft-Visual C/C++ Version 6.0. If you need another
development system, please contact us.)
Knowledge:
Standard logical thinking (similar to that needed for a crossword-puzzle).
Basic knowledge of Windows™ and programming language C (syntax, use of
#include-files and static libraries).
Knowledge of C++ is not needed (but helpful, if you want to implement callback procedures).
DLG itself requires "non-procedural" programming.
top
|
WHO SHOULD NOT BUY DLG
From experience we know that once in a while among our customers there are
some people who purchased DLG in wrong expectations. The DLG-approach is a bit different
from conventional programming. You should not buy DLG if you are one of the following types
of person:
1. |
No Time / No Readiness to Learn a new Software Technology |
|
DLG is a completely new software technology.
Once you are familiar with it, you can build an Application Framework
within some minutes that would take many hours in conventional programming.
Yet, unquestionably, it takes some time and effort to learn it - though DLG is very easy to
learn.
In fact, so easy that another class of people might even feel a bit bored when using it:
|
2. |
Passionate Software Technician / Computer-"Hobbyist" |
|
If you are fascinated by all the intricacies of the
computer, if you are an expert in juggling with OCX's, DLL's, etc. (and you take pride in
it!) - DLG will be much too down-to-earth for you. DLG was designed for simply "plugging
together" software components to get a useful application as efficiently as possible -
at intellectual demands not more than that of a crossword puzzle.
DLG is also aimed at what could be called
"semi-professional" software developers. Appliers who are experts in their fields but who
feel not so closely related to computers and software. So far they used to order it from an
outside software developer when they needed a piece of software - frequently a group of
"Software Technicians" as the ones mentioned above.
DLG, however, should bring home to them the idea that they can do it themselves:
- Exactly meeting the requirements: The applier himself is the one
who knows best what a software is supposed to do.
- Highly productive: Once you are familiar with DLG, you can "plug
together" an application in a few hours that in conventional programming would take
several working days.
- Exceptional quality: In DLG you can easily have color, brush or pattern in the background.
The lettering in the foreground can have different colors, fonts and letter sizes. Selected
DLG elements can have characteristic sounds, audio or even video sequences.
- Unlimited flexibility: Nearly every detail of an application's UIF can be controlled by
a callback procedure, programmed by the applier. But that's just a simple, straight-forward
programming. No real challenge to your brains.
If that's not what you are looking for, DLG is not for you.
|
|
top
|
TECHNICAL BACKGROUND OF DLG
DLG is a series of pre-programmed
software components for implementing applications under Windows 95/98/NT/2000.
DLG was developed in Visual C/C++. DLG
components are supplied in form of a static library and can
be used in a C/C++ development system just like any of the runtime functions.
The only programming you need is that for 'callback procedures'. To that purpose
you don't need full C++, you can do it in simple C. You don't even need full-time
programmers.
DLG is language-independent. What the end-user
sees, are graphics only. (Yes, there are some messages in standard English in DLG.
However, they appear only during application building, visible to the programmer only.
When an application is released, they can be switched off easily.)
The only messages visible to the end-user are those you display in a
callback procedure.
A special idea in the design of DLG
was to associate each user input element with a variable in the
calling program. When the dialog is opened, the respective element
displays the current value of the associated variable. Before the
dialog is closed, all values in the user input elements are stored
back to the associated variables in the calling program.
Optionally, before closing the dialog an
input value can be tested to have any user input at all, or to fit in
with a given range of values. If these criteria are not met, closing the dialog
is refused until the user has entered a valid input. You don't need to take any
precautions for queer user inputs, what makes conventional Windows programming
so troublesome.
By doing so, the
programmer can fully concentrate on working on the
application-specific parts. Calling a DLG dialog is as simple as, for
example, a standard MessageBox. When execution returns to the calling program,
the user inputs can be processed right away.
|
top
|
OPTIONS,
KEYWORD PARAMETERS
The design of DLG started out with the idea,
the applier should be able to pass any number of parameters when creating
a dialog. Without being nailed down to that awkward formalism
of standard Windows programming. Our solution is the concept of "Options":
a series of arguments strung together in a normal ASCII-string.
The arguments have the form of keyword parameters:
"<keyword>=%<format specifier>",<value>,
with at least one whitespace character (space, tab, line break) between two arguments.
The window text is used to accommodate the options, with a special character
separating options from the text that is supposed to be the real window
text.
Options may occur in any order (with a few exceptions that are specifically
pointed out in the documentation).
Option strings may be formed manually or by standard Windows string functions
at runtime. Thus you can have a variable dialog, a dialog that
adapts widely to previous user inputs - one more thing that
is easy in DLG but very limited in conventional Windows programming!
Due to this concept an applier has very much latitude in how to implement
a user interface. In addition, the most frequently needed operations are available
in pre-programmed form. Special requirements can be implemented
in callback procedures.
Therefore, with DLG you need no programming
at all (at least as far as UIF is concerned). Most things are
implemented by combining pre-programmed features. The programmers can
concentrate on the aspects specific to the application.
|
top
|
CALLBACK PROCEDURES
DLG is a set of universal components for building "Application Frameworks" .
Meaning, you can build
an application by a minimum of programming. You simply combine DLG components according
to the features you want to have in the target system. Additionally, in DLG you can
get many effects that are just beyond standard Windows programming, e.g. colors, fonts,
multimedia support, etc.
If there are some details left that you cannot get directly from DLG, you can program
'callback procedures'. They are very much straightforward programs implementing
application-specific details. You don't need to care about all those subtle intricacies
that are usually involved with programming (in particular that of Windows applications).
For example, a callback procedure implements the application's response when the user ...
|
- single- or double-clicks a mouse button
- clicks left, middle or right mouse button
- rolls the wheel (if the user has a wheel mouse)
- selects an item from a list (by mouse or by keyboard)
- etc.
|
|
top
DLG
STRUCTURE
The DLG product line is
structured according to the applier's needs. In detail this means
| |
--------------------------------------------------------------------------- Free Samples -----------------------------------------------------------------------
|
| |
DLG Basic |
|
basic DLG-controls, most frequently
needed operations |
|
| |
DLG Standard |
|
DLG-controls needed for more user-friendliness,
some more operations frequently needed |
|
| |
DLG Advanced |
|
DLG-controls needed for more advanced applications |
|
| |
DLG Launching |
|
Components needed to make full use of DLG |
|
| |
DLG Accessory |
|
UIF elements beyond dialog |
|
top
| DLG Basic |
Basic DLG-controls,
the most Frequently Needed Operations |
DLG Basic should be installed before upgrading
by any of the other DLG's. Our outline page gives you
a description of the individual controls.
Click the sample to see details and download a free sample program:
| Control Type |
Sample |
| Static + Edit
basic user interaction via input/output of alphanumeric text |
sample
1.0 |
| Button
set 2+ states, trigger a predefined or custom action,
get multimedia effects, close dialog |
sample 1.1 |
| ListBox
select 1+ items from a (permanent) list |
sample 1.2 |
| ComboBox
select 1 item from a (temporary) list |
sample 1.3 |
| Tabs
present dialog controls by subgroups, one at a time |
sample 1.4 |
| DirSelect
present directory tree of all drives in system, to be selected by user |
sample 1.5 |
Operations 1
predefined actions based on sub-dialogs |
sample 1.6 |
| DLG Standard |
DLG-controls for more User-friendliness,
some more Frequently Needed Operations |
DLG Basic should be installed first,
then you can upgrade by DLG Standard .
Our outline page gives you a description of the
individual controls. Click the sample to see details and download a free sample program:
| Control Type |
Sample |
| Spin, Slider
numeric user inputs, typed in and/or controlled by mouse |
sample 1.7 |
ProgressBar
visualize how a lengthy operation makes headway |
sample 1.8 |
Animation
present moving images of a bitmap series |
sample 1.9 |
Display
visualize result of sub-dialog in natural form |
sample 1.10 |
Operations 2
predefined actions based on advanced sub-dialogs |
sample 1.11 |
| DLG Advanced |
DLG-controls for more Advanced Applications |
DLG Basic should be installed first,
then you can upgrade by DLG Advanced .
Our outline page gives you a description of the
individual controls. Click the sample to see details and download a free sample program:
| Control Type |
Sample |
| TreeView
present masses of information hierarchically |
sample 1.12
|
ListView
very user-friendly way to present masses of information in many
different aspects |
sample 1.13
|
For operations New, Rename
and Delete a semi-modal dialog (part of
DLG Launching) is required.
| DLG Launching |
DLG-Components needed to
make Full Use of DLG |
DLG Basic should be installed first,
then you can upgrade by DLG Launching .
Our outline page gives you a description of the
individual controls. Click the sample to see details and download a free sample program:
| Dialog Type |
Sample |
standard dialog
upgrade a conventional dialog to full DLG,
launch a DLG dialog as you do in conventional programming |
sample
2.1 |
simple dialog
DLG-specialty: launch a dialog with a minimum of coding,
dialog box adapts automatically to the controls |
sample
2.2 |
semi-modal dialog
not accessible in standard Windows: message-loop to perfectly tailor
a dialog's behavior to your needs |
sample
2.3 |
MainWindow
base of any application: by it many DLG features are done automatically,
without any coding effort |
sample
2.4 |
User Arranging
let the user do the arranging of controls in a MainWindow or any dialog |
sample
2.5 |
| DLG Accessory |
DLG-components for
UIF-elements Beyond Dialog |
DLG Basic should be installed first,
then you can upgrade by DLG Accessory .
Our outline page gives you a description of the
individual controls. Click the sample to see details and download a free sample program:
| UIF-element |
Sample |
Statusbar
insight into processing at runtime |
sample 3.1 |
Toolbar
frequently needed controls right at the user's hand
(not only buttons, like in standard Windows!) |
sample 3.2 |
Menu
popular means to offer a maximum of operations to the user
at a minimum of screen space |
sample 3.3 |
Floating UIF
very user-friendly way to present Dlg-Menus and toolbars,
with items and/or controls combined |
sample 3.4 |
For sub-menus/toolbars in Floating UIF a
semi-modal dialog (part of DLG Launching) is required.
|