home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / MDI-15.ZIP / READ.ME < prev    next >
Text File  |  1990-07-09  |  7KB  |  171 lines

  1. San Francisco Canyon Comapny
  2. 220 Montgomery Street, Suite 1063
  3. San Francisco, CA 94104
  4.  
  5. (415) 398-9957  -  FAX 398-5998
  6.  
  7. Compuserve 72371,104
  8.  
  9. Mark Florence, President
  10.  
  11.  
  12.  
  13. MDI DLL
  14. -------
  15. You have just downloaded a set of tools that make writing MDI applications
  16. under OS/2 PM extemely simple. MDI.DLL does all the work (a couple of
  17. small "helper" DLLs assist). MDI.H, which must be included in all
  18. programs that use MDI, defines the API. Two sample programs, one very
  19. basic and one more useful, illustrate how to use the small number
  20. of messages and functions defined.
  21.  
  22. The MDI DLL was developed by the San Francisco Canyon Company for
  23. internal use. If you like what you see and you find it useful, please
  24. contact Canyon and we'll send you printed documentation
  25. (only the most basic documentation is included here), a
  26. QuickHelp database for the MDI messages and function calls and we'll
  27. keep you up-to-date with fixes and changes. Of course, any suggestions
  28. or problem reports will be gratefully received.
  29.  
  30. Good luck!
  31.  
  32. Fixes and Enhancements
  33. ----------------------
  34. See the enclosed READ.nn files (where "nn" is the MDI release level).
  35.  
  36. Highlights
  37. ----------
  38.  
  39.   * details of the MDI user interface are completely handled
  40.  
  41.   * a "desktop" window maintains the basic MDI interface
  42.  
  43.   * multiple "document" windows can be opened within the "desktop"
  44.  
  45.   * the title of each "document" is automatically maintained.
  46.     Documents of the same name are automatically assigned a ":n"
  47.     suffix.
  48.  
  49.   * a "window" menu entry is automatically created and maintained
  50.     within the "desktop" menu bar
  51.  
  52.   * the system menu for "document" windows is automatically altered
  53.     for the MDI accelerator conventions
  54.  
  55.   * the positions of the "desktop" and "document" windows are
  56.     automatically remembered by name on OS2.INI
  57.  
  58.   * a re-entrant data area can be automatically created for the
  59.     "desktop" window
  60.  
  61.   * a re-entrant data area (document instance data) can be automatically
  62.     created for each "document" window. This can be used, for example,
  63.     to maintain positioning within a document.
  64.  
  65.   * a re-entrant data area (document data) can be automatically created
  66.     for each like-named document (ignoring any ":n" sufix). This can be
  67.     used, for example, to maintain the contents of the document.
  68.  
  69.   * simple messages return the locations of the re-entrant data areas
  70.  
  71. Restrictions
  72. ------------
  73. Note: refer to the sample programs (TEST.C and BROWSER.C) for
  74. clarification of these points.
  75.  
  76.   * your desktop and document window procedures (as named in the
  77.     MDICreateDesktop and MDICreateDocument calls) cannot process
  78.     the WM_CREATE or WM_DESTROY messages. Instead, they can process
  79.     the MDI_NOTIFY_* messages documented in MDI.H.
  80.  
  81.   * all messages must be passed to MDIDesktopWndProc or
  82.     MDIDocumentWndProc as appropriate. This includes WM_COMMAND
  83.     or WM_CONTROL messages
  84.  
  85.   * currently, MDI.DLL reserves the values 32000-32767 as the command
  86.     value in WM_COMMAND messages. This means, for example, that you
  87.     can't use this range as menu ids. This restriction is expected
  88.     to be removed in a future release.
  89.  
  90. MDI-nn.ARC Contents
  91. ----------------
  92. MDI-nn.ARC contains the source for these components:
  93.  
  94.   TELLUSER.DLL : Internal user notification DLL
  95.   ALLOCMEM.DLL : Internal memory management DLL
  96.   MDI.DLL      : MDI User Interface DLL
  97.   TEST.EXE     : Basic MDI test program
  98.   BROWSER.EXE  : Basic MDI file Browser
  99.  
  100. In addition, these files are provided to help you get started immediately
  101. with the MDI interface. You may already have them installed on your system.
  102.  
  103.   OPENDLG.DLL  : Open Dialog Box DLL (from Tool Kit samples --
  104.                  used only by the file Browser)
  105.  
  106. Installation
  107. ------------
  108. To install MDI, compile the source code as described below. Make sure
  109. that you put the DLLs (MDI.DLL, ALLOCMEM.DLL and TELLUSER.DLL) in a
  110. directory referenced by the LIBPATH= CONFIG.SYS parameter.
  111. Execute TEST to see a basic demonstration of the capabilities
  112. of the MDI interface. Execute BROWSER to see a more comprehensive (and
  113. useful!) example.
  114.  
  115. Compilation
  116. -----------
  117. To recompile the MDI interface, use the following model statements
  118. and adapt them to suit your configuration. You will need to change
  119. the compiler and linker options to your installation standards. We
  120. recommend using the multithread options and the C-run time DLL, as
  121. described in Chapter 14 of the MSC 6.0 Advanced Programming Techniques
  122. Manual.
  123.  
  124. The example shown below is written for MSC 5.1.
  125.  
  126.  cl /Alfw /c /DDLL /FPa /Gs2w /Od /W3 /Zelp TellUser.C
  127.  link /M /NOD /NOI /CO TellUser+CRTDLL, TellUser.DLL, TellUser.MAP, CRTLIB OS2, TellUser.DEF;
  128.  implib TellUser.LIB TellUser.DEF
  129.  cl /Alfw /c /DDLL /FPa /Gs2w /Od /W3 /Zelp AllocMem.C
  130.  rc -r AllocMem.RC
  131.  link /M /NOD /NOI /CO AllocMem+CRTDLL, AllocMem.DLL, AllocMem.MAP, TellUser CRTLIB OS2, AllocMem.def;
  132.  rc AllocMem.RES AllocMem.DLL
  133.  implib ALLOCMEM.LIB AllocMem.def
  134.  cl /Alfw /c /DDLL /FPa /Gs2w /Od /W3 /Zelp MDI.C
  135.  rc -r MDI.RC
  136.  link /M /NOD /NOI /CO MDI+CRTDLL, MDI.DLL, MDI.MAP, AllocMem TellUser CRTLIB OS2, MDI.DEF;
  137.  rc MDI.RES MDI.DLL
  138.  implib MDI.LIB MDI.DEF
  139.  cl /AL /c /DDLL /FPa /Gs2w /Od /W3 /Zelp TEST.C
  140.  rc -r TEST.RC
  141.  link /M /NOD /NOI /CO TEST+CRTEXE, TEST.EXE, TEST.MAP, MDI CRTLIB OS2, TEST.DEF;
  142.  rc TEST.RES TEST.EXE
  143.  cl /AL /c /DDLL /FPa /Gs2w /Od /W3 /Zelp Browser.C
  144.  rc -r Browser.RC
  145.  link /M /NOD /NOI /CO Browser+CRTEXE, Browser.EXE, Browser.MAP, AllocMem TellUser OPENDLG MDI CRTLIB OS2, Browser.DEF;
  146.  rc Browser.RES Browser.EXE
  147.  
  148. The example shown below is written for MSC 6.0.
  149.  
  150.  cl /c /Gs /MD /Od /W3 /Zelp TellUser.C
  151.  link /M /NOD /NOI /CO TellUser+CRTDLL, TellUser.DLL, TellUser.MAP, MSC60LIB OS2, TellUser.DEF;
  152.  implib TellUser.LIB TellUser.DEF
  153.  cl /c /Gs /MD /Od /W3 /Zelp AllocMem.C
  154.  rc -r AllocMem.RC
  155.  link /M /NOD /NOI /CO AllocMem+CRTDLL, AllocMem.DLL, AllocMem.MAP, TellUser MSC60LIB OS2, AllocMem.def;
  156.  rc AllocMem.RES AllocMem.DLL
  157.  implib ALLOCMEM.LIB AllocMem.def
  158.  cl /c /Gs /MD /Od /W3 /Zelp MDI.C
  159.  rc -r MDI.RC
  160.  link /M /NOD /NOI /CO MDI+CRTDLL, MDI.DLL, MDI.MAP, AllocMem TellUser MSC60LIB OS2, MDI.DEF;
  161.  rc MDI.RES MDI.DLL
  162.  implib MDI.LIB MDI.DEF
  163.  cl /c /MD /Od /W3 /Zelp TEST.C
  164.  rc -r TEST.RC
  165.  link /M /NOD /NOI /CO TEST+CRTEXE, TEST.EXE, TEST.MAP, MDI MSC60LIB OS2, TEST.DEF;
  166.  rc TEST.RES TEST.EXE
  167.  cl /c /MD /Od /W3 /Zelp Browser.C
  168.  rc -r Browser.RC
  169.  link /M /NOD /NOI /CO Browser+CRTEXE, Browser.EXE, Browser.MAP, AllocMem TellUser OPENDLG MDI MSC60LIB OS2, Browser.DEF;
  170.  rc Browser.RES Browser.EXE
  171.