home *** CD-ROM | disk | FTP | other *** search
- San Francisco Canyon Comapny
- 2237 Union Street
- San Francisco, CA 94123
-
- (415) 441-2745 - FAX 441-2513
-
- Compuserve 72371,104
-
- Mark Florence, President
-
-
-
- MDI DLL
- -------
- You have just downloaded a set of tools that make writing MDI applications
- under OS/2 PM extemely simple. MDI.DLL does all the work (a couple of
- small "helper" DLLs assist). MDI.H, which must be included in all
- programs that use MDI, defines the API. Two sample programs, one very
- basic and one more useful, illustrate how to use the small number
- of messages and functions defined.
-
- The MDI DLL was developed by the San Francisco Canyon Company for
- internal use. If you like what you see and you find it useful, please
- send $25 to Canyon. In return, we'll send you printed documentation
- (only the most basic documentation is included here), a
- QuickHelp database for the MDI messages and function calls and we'll
- keep you up-to-date with fixes and changes. Of course, any suggestions
- or problem reports will be gratefully received.
-
- Good luck!
-
- Highlights
- ----------
-
- * details of the MDI user interface are completely handled
-
- * a "desktop" window maintains the basic MDI interface
-
- * multiple "document" windows can be opened within the "desktop"
-
- * the title of each "document" is automatically maintained.
- Documents of the same name are automatically assigned a ":n"
- suffix.
-
- * a "window" menu entry is automatically created and maintained
- within the "desktop" menu bar
-
- * the system menu for "document" windows is automatically altered
- for the MDI accelerator conventions
-
- * the positions of the "desktop" and "document" windows are
- automatically remembered by name on OS2.INI
-
- * a re-entrant data area can be automatically created for the
- "desktop" window
-
- * a re-entrant data area (document instance data) can be automatically
- created for each "document" window. This can be used, for example,
- to maintain positioning within a document.
-
- * a re-entrant data area (document data) can be automatically created
- for each like-named document (ignoring any ":n" sufix). This can be
- used, for example, to maintain the contents of the document.
-
- * simple messages return the locations of the re-entrant data areas
-
- Restrictions
- ------------
- Note: refer to the sample programs (TEST.C and BROWSER.C) for
- clarification of these points.
-
- * your desktop and document window procedures (as named in the
- MDICreateDesktop and MDICreateDocument calls) cannot process
- the WM_CREATE or WM_DESTROY messages. Instead, they can process
- the MDI_NOTIFY_* messages documented in MDI.H.
-
- * all messages must be passed to MDIDesktopWndProc or
- MDIDocumentWndProc as appropriate. This includes WM_COMMAND
- or WM_CONTROL messages
-
- * currently, MDI.DLL reserves the values 32000-32767 as the command
- value in WM_COMMAND messages. This means, for example, that you
- can't use this range as menu ids. This restriction is expected
- to be removed in a future release.
-
- MDI.ARC Contents
- ----------------
- MDI.ARC contains the source and executables for these components:
-
- TELLUSER.DLL : Internal user notification DLL
- ALLOCMEM.DLL : Internal memory management DLL
- MDI.DLL : MDI User Interface DLL
- TEST.EXE : Basic MDI test program
- BROWSER.EXE : Basic MDI file Browser
-
- In addition, these files are provided to help you get started immediately
- with the MDI interface. You may already have them installed on your system.
-
- CRTLIB.DLL : Reentrant C functions DLL
- CRTLIB.LIB : Reentrant C functions LIB
- CRTEXE.OBJ : Reentrant C start-up code for EXE
- CRTLIB.OBJ : Reentrant C start-up code for DLL
- OPENDLG.DLL : Open Dialog Box DLL (from Tool Kit samples --
- used only by the file Browser)
-
- Installation
- ------------
- To install the executables, copy the DLLs to a directory referenced by
- LIBPATH. Execute TEST to see a basic demonstration of the capabilities
- of the MDI interface. Execute BROWSER to see a more comprehensive (and
- useful!) example.
-
- Note: the executables were compiled with the 1.2 bindings; they
- may need to be re-compiled with the 1.1 bindings in order to run under 1.1.
-
- Compilation
- -----------
- If you need to recompile the MDI interface, edit the following files to
- suit your configuration:
-
- COMPILE.CMD : Compile batch file
- TELLUSER : Internal user notification DLL MAKE file
- ALLOCMEM : Internal memory management DLL MAKE file
- MDI : Internal MDI User interface DLL MAKE file
- TEST : Test program MAKE file
- BROWSER : Browser program MAKE file
-
- Then, run COMPILE.CMD.