
*****************************************************************************

What is it?

This is a Windows applications which is similar to AppWizzard in that it
takes user input and creates a core application.  It differs in that the
application which is created uses a dialog box as the main window.  A use
can select from many options.  These include:

	- ABOUT dialog box (similar to the one seen in many Applications)
	- ACCELERATORS
	- COLOR selection dialog box
	- 3D dialog box support
	- DDX/DDV; dialog data exchange and validation
	- FileOpen dialog box
	- FileSave As dialog box
	- FONT selection dialog box
	- Context Help
	- The ability to limit number of concurrent application of this type.
	- PRINT dialog box
	- Status bar and a menuitem to show/hide
	- Toolbar and a menuitem to show/hide
	- VBX support
	- Version information
	
Information like Window name, application name and projects name can also
be changed under program control.

Entries within the .INI include, space conversion, default name, default
settings and many others.

The source code used to create a new program is stored in a directory which
is pointed to in DLGAPP.INI file.  There is also a compiling system which
can be used to modify the base code and create a new set of base sources.

Ready to run.

	1) Unzip the file into a separate subdirectory.
		1A) Copy DLGAPP.INI into your "Windows" directory.
		1B) Copy the program sources into a subdirectory and modify
			the "BaseDirectory=" entry in the [Generic] section.
			The directory name MUST end with a "\" character !
			(Program sources include *.bmp, *.ico, *.cpp *.h
			*.def and *.mak).  The default directory for all
			files is "\DLGAPP".

	2) If you do not have CTL3D support installed on your system, copy
		the CTL3D files to the appropriate directory.  (*.LIB,
		*.H and *.DLL).  If you place the CTL3D.H file in a
		directory other than "C:\MSVC\INCLUDE" you will have to edit
		the appropriate line in the .INI file (search for CTL3D.H).
		Likewise CTL3D.LIB will default to "C:\MSVC\LIB" unless
		otherwise specified.  Don't forget to copy CTL3D.DLL into
		your Windows\System directory.
	
	3) Run DLGAPP.EXE and begin having fun.
	
Notes:

The base app created by this program is similar in functionality to those created by AppWizzard.

If you wish to use the ClassWizzard you will have to compile the ClassWizzard information.  To do this open 
the project (.MAK) file and run AppStudio.  Select ClassWizzard (Ctrl-W) and follow the prompts, 3 
<ENTERs> usually suffice.

Toolbar bitmap functions like that in AppWizzard.

Future enhancements:

=Add .INI entries so uses can change the prompts, and use it as a base for other projects which
	need text management and replacement.
	
-Other things I happen to dream up ?????

*****************************************************************************

Modules which make up the template

	- dlgwnd.h / .cpp       -        CDialogWinApp : CDialog
	- stdafx.h / .cpp       -       standard includes for pre-compiled headers
	- mainwnd.h / .cpp      - CGenericApp : CWinApp
	- generic.h / .cpp              - derived from CDialogWinApp this code is usually       the only code 
				requiring modification. *** This file will be renamed to match the 
				ProjectFileName !

*****************************************************************************

Defines used for code inclusion/exclusion

	- _ABOUT
	- _ACCEL
	- _COLOR
	- _CTL3D
	- _DDX
	- _FOPEN
	- _FSAVEAS
	- _FONT
	- _HELP
	- _LIMIT
	- _PRINT
	- _STATBAR
	- _TOOLBAR
	- _VBX
	- _VER

*****************************************************************************

Special text markers which result in appropriate substitution

%ProjectName%           - Long name which represents the projects name.
%ProjectDirectory%      - Full path of directory where projects are created
%WindowsClassName%      - Name used in the WNDCLASS (lpszClassName member) to
			register the window name.
%ProjectFileName%       - base name used in the creation of generic files.

*****************************************************************************

DLGAPP.INI sections and descriptors

[General]

NumberOfFiles           - Represents the number of [Filex] sections within the .INI file.
NumberOfBitmaps - Number of additional bitmapfiles to be copied to project directory. (not 
			implimented)
DefaultProjectName      - Default project name for all projects created using this application.
ConvertSpacesToTabs     - 1 if you want the conversion of spaces to tab characters.
SpacesPerTab    -        Number of spaces per tab-stop.
ProgDefault     -        Defines the default selections for all projects created using this application.

[IconBitmap]
FileName                - Location of the .ICO file generically used to create projects.  This file is renamed 
			and copied into the project directory.
OutputFileName          - Represents the name when this file gets expanded.  This may be 
			%ProjectFileName% followed by an extention if you with the file be named using 
			the base project filename (i.e %ProjectFileName%.BMP).  If this entry is missing 
			the file shall carry the same name as the original.

[ToolbarBitmap]
FileName                - Location of the .BMP file used to create the toolbar for a project.  This file is 
			renamed and copied into the project directory.  If this file does not exist the 
			"Toolbar" selection will be disabled.
OutputFileName          - Represents the name when this file gets expanded.  This may be 
			%ProjectFileName% followed by an extention if you with the file be named using 
			the base project filename (i.e %ProjectFileName%.ICO).  If this entry is missing 
			the file shall carry the same name as the original.

[Filex]
FileName                - Represents the name when this file gets expanded.  This may be 
			%ProjectFileName% followed by an extention if you with the file be named using 
			the base project filename (i.e %ProjectFileName%.DEF).
OutputFileName          - Represents the name when this file gets expanded.  This may be 
			%ProjectFileName% followed by an extention if you with the file be named using 
			the base project filename (i.e %ProjectFileName%.MAK).  If this entry is missing 
			the file shall carry the same name as the original.
