home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / MDI-15.ZIP / READ.15 < prev    next >
Text File  |  1990-08-29  |  7KB  |  179 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. ALERT! ALERT! ALERT! ALERT! ALERT! ALERT! ALERT! ALERT! ALERT! ALERT! ALERT!
  13.  
  14. Bowing to considerable pressure, the API to MDI has changed slightly in this
  15. release. Unfortunately, this means that any existing programs must be changed
  16. (albeit slightly) and recompiled. The notes below highlight the areas of change.
  17.  
  18. Remember, you too can have the complete MDI documentation in Quickhelp format
  19. simply by sending $25 to the above address! You'll also become a registered
  20. user and receive periodic updates.
  21. ----------------------------------------------------------------------------
  22.  
  23.  
  24.  
  25. MDI-15.ARC API Changes
  26. ----------------------
  27.  
  28. MDICreateDesktop
  29.  
  30. The format of the MDICreateDesktop call has changed. The new format is as
  31. follows. Note that the ninth and last parameters are new (marked ***).
  32.  
  33.    HWND EXPENTRY MDICreateDesktop  (PFNWP, ULONG, PCHAR, HMODULE, USHORT, PHWND, USHORT, USHORT, PCHAR, PCHAR, PCHAR, ULONG);
  34.  
  35.    // PFNWP   : your desktop window procedure
  36.    // ULONG   : FCF_* flags for the desktop frame
  37.    // PCHAR   : initial desktop title text
  38.    // HMODULE : module handle for resources (or NULL if in .EXE)
  39.    // USHORT  : id of resources
  40.    // PHWND   : pointer to area in which handle to desktop client is returned
  41.    // USHORT  : size of re-entrant desktop data
  42.    // USHORT  : id of desktop frame
  43. ***// PCHAR   : text of menu entry before which document menu deltas are inserted
  44.    // PCHAR   : text of menu entry before which the "window" menu entry is inserted
  45.    // PCHAR   : desired text of "window" menu entry
  46. ***// ULONG   : mask of options
  47.  
  48. Prior to this change, document menu deltas were inserted before the "window"
  49. menu entry. However, this made it difficult to support a CUA-style menu
  50. such as:
  51.  
  52.    File Edit Options Window Help
  53.  
  54. where "Edit" is a document menu delta. The new ninth parameter allows you
  55. to explictly state the desktop menu item (in this case, "Options") before
  56. which the document menu deltas are to be inserted.
  57.  
  58. An example of the new MDICreateDesktop call is:
  59.  
  60.    MDICreateDesktop (DesktopWndProc, flCreateFlags, "MDI Test Program",
  61.      (HMODULE) NULL, IDR_DESKTOP, &hwndDesktop, 0, 1, "Options", "Exit", "~Window", 0L);
  62.  
  63.  
  64. MDI_REQUEST_EXTENDED_OPTIONS
  65.  
  66. The MDI_REQUEST_EXTENDED_OPTIONS message has been removed. Instead, these
  67. options are now specified directly in the MDICreateDesktop call as the last
  68. parameter. In addition, the option masks have been extended to 32-bits for
  69. added flexibility. For completeness, all of the available options are listed
  70. below. Those marked *** are new in this release.
  71.  
  72. MDI_DISABLE_DESKTOP_POSITION  The retention of desktop position and
  73.                               size information on OS2.INI is
  74.                               disabled.
  75.  
  76. MDI_DISABLE_DOCUMENT_POSITION The retention of document position and
  77.                               size information on OS2.INI is
  78.                               disabled.
  79.  
  80. MDI_DISABLE_NEW_DOCUMENT      The "New Document" window menu entry
  81.                               is disabled.
  82.  
  83. MDI_INITIAL_CASCADE_ALWAYS    The desktop is created in the "cascade
  84.                               always" state
  85.  
  86. MDI_INITIAL_MAX_DESKTOP       The desktop is created maximized
  87.  
  88. MDI_INITIAL_TILE_ALWAYS       The desktop is created in the "tile
  89.                               always" state
  90.  
  91. MDI_KEEP_SCROLLBARS           Any vertical or horizointal scroll bars
  92.                               in document windows are \bnot
  93.                               removed when the document becomes
  94.                               inactive.
  95.  
  96. MDI_KEEP_WINDOWS_MENU         The "windows" menu is not removed from
  97.                               the desktop menu bar when there are no
  98.                               document windows. In other words, the
  99.                               "windows" menu is always present.
  100.  
  101. ***MDI_ALWAYS_ON_RESIZE       performs a "tile always" or a "cascade always"
  102.                               operation each time the desktop is resized,
  103.                               as well as when a document is created or destroyed.
  104.  
  105. ***MDI_DISABLE_NEW_DOCUMENT   prevents the "new document" entry from
  106.                               appearing in the Window menu.
  107.  
  108. ***MDI_DISABLE_DESKTOP_POSITION disables the memory of desktop position
  109.                               between executions
  110.  
  111. ***MDI_DISABLE_DOCUMENT_POSITION disables the memory of document positions
  112.                               between executions
  113.  
  114. Note: MDI normally maintains the last known position of the desktop
  115. and its documents on OS2.INI. When the desktop or a document is created,
  116. its last known position and size is used.
  117.  
  118. An example of the new MDICreateDesktop call is:
  119.  
  120.    ULONG flOptions = (MDI_KEEP_WINDOWS_MENU | MDI_INITIAL_MAX_DESKTOP | MDI_INITIAL_TILE_ALWAYS
  121.                         | MDI_DISABLE_DESKTOP_POSITION | MDI_ALWAYS_ON_RESIZE | MDI_DISABLE_DOCUMENT_POSITION);
  122.  
  123.    MDICreateDesktop (DesktopWndProc, flCreateFlags, "MDI Test Program",
  124.      (HMODULE) NULL, IDR_DESKTOP, &hwndDesktop, 0, 1, "Options", "Exit", "~Window", flOptions);
  125.  
  126.  
  127. MDICreateDocument
  128.  
  129. The format of the MDICreateDocument call has changed. The new format is as
  130. follows. Note that the last parameter is new (marked ***).
  131.  
  132.    HWND EXPENTRY MDICreateDocument (PFNWP, HWND, ULONG, PCHAR, HMODULE, USHORT, PHWND, USHORT, USHORT, USHORT);
  133.  
  134.    // PFNWP   : your document window procedure
  135.    // HWND    : handle to the desktop client window, as returned by MDICreateDesktop
  136.    // ULONG   : FCF_* flags for the document frame
  137.    // PCHAR   : initial document title
  138.    // HMODULE : module handle for resources (or NULL if in .EXE)
  139.    // USHORT  : id of resources
  140.    // PHWND   : pointer to area in which handle to document client is returned
  141.    // USHORT  : size of re-entrant document data
  142.    // USHORT  : size of re-entrant document instance data
  143. ***// USHORT  : id of document frame
  144.  
  145. In the last parameter, you are expected to code the id of the document frame.
  146. It can be useful to explicitly state the id for help procesing, for example.
  147. Previously, MDI assigned an arbitrary id that you could not change.
  148.  
  149. An example of the new MDICreateDocument call is:
  150.  
  151.    MDICreateDocument (WhiteWndProc, hwndDesktop, flCreateFlags,
  152.      "White", (HMODULE) NULL, IDR_WHITE, &hwndDocument, 0, 0, 100);
  153.  
  154.  
  155. Windows Menu
  156.  
  157. Although this is not strictly an API change, an important user interface
  158. change has been made to the "windows" menu. Now, if more than nine document
  159. windows are active, the first nine plus "more..." are listed in the "windows"
  160. menu. Selecting "more..." causes a dialog box showing a list box of all
  161. documents to be displayed. This change has been made to comply with CUA.
  162.  
  163.  
  164.  
  165.  
  166.  
  167. MDI-15.ARC Bug Fixes
  168. --------------------
  169.  
  170. 1. "Tile Always" with at least one maximized window leaves a hole in its
  171.    tiling algorithm.
  172.  
  173. 2. The ALT and F10 keys operate inconsistently with respect to highlighting
  174.    the desktop menu
  175.  
  176. 3. MDI causes the desktop window menu bar to flicker excessively when
  177.    inserting a new set of document window menu deltas (as when a new
  178.    document becomes the active window)
  179.