home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / os2sdk / os2sdk11 / tk4 / mdi / app.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-02-20  |  3.4 KB  |  96 lines

  1. /****** Resource IDs *****/
  2.  
  3. #define IDR_MDI             1
  4. #define IDR_MDIDOC          2
  5. #define    IDD_ABOUT        3
  6.  
  7. /****** Menu command IDs *****/
  8.  
  9. #define ID_DUMMY    -126
  10.  
  11. /* File menu */
  12. #define IDM_FILE            -1
  13. #define CMD_NEW         0x0100
  14. #define CMD_OPEN        0x0101
  15. #define CMD_CLOSE       0x0102
  16. #define CMD_SAVE        0x0103
  17. #define CMD_SAVEAS      0x0104
  18. #define CMD_SAVEENV     0x0105
  19. #define CMD_PAGESETUP   0x0106
  20. #define CMD_PRINT       0x0107
  21. #define CMD_PRINTSETUP  0x0108
  22. #define CMD_EXIT        0x0109
  23. #define    CMD_ABOUT    0x010a
  24.  
  25. /* Edit menu */
  26. #define IDM_EDIT            -2
  27. #define CMD_UNDO        0x0200
  28. #define CMD_REDO        0x0201
  29. #define CMD_CUT         0x0202
  30. #define CMD_COPY        0x0203
  31. #define CMD_PASTE       0x0204
  32. #define CMD_CLEAR       0x0205
  33. #define CMD_SELECT      0x0206
  34. #define CMD_SELECTALL   0x0207
  35.  
  36. /* Window menu */
  37. #define IDM_WINDOW              -9
  38. #define CMD_ARRANGETILED    0x0900
  39. #define CMD_ARRANGECASCADED 0x0901
  40. #define CMD_WINDOWITEMS     0x0902
  41.  
  42. /* Help menu */
  43. #define IDM_HELP           -10
  44.  
  45.  
  46. #define AWP_TILED     1
  47. #define AWP_CASCADED  2
  48.  
  49. /*
  50.  * Style flags for the DOC structure.
  51.  */
  52. #define DS_HORZSPLITBAR     0x0001  /* Document has horizontal splitbar.   */
  53. #define DS_VERTSPLITBAR     0x0002  /* Document has vertical splitbar.     */
  54.  
  55. /*
  56.  * State flags for the DOC structure.
  57.  */
  58. #define DF_SPLITHORZ        0x0001  /* Document is split horzontally.      */
  59. #define DF_SPLITVERT        0x0002  /* Document is split vertically.       */
  60. #define DF_HSPLITOVERFLOW   0x0004  /* Window is smaller than split area.  */
  61. #define DF_VSPLITOVERFLOW   0x0008  /* Window is smaller than split area.  */
  62.  
  63. typedef struct _DOC {   /* doc */
  64.     USHORT  idMI;           /* The ID of the menu item on the Window menu. */
  65.     ULONG   clrBackground;  /* The background color of the document.       */
  66.     USHORT  fsStyle;        /* Style flags for the document.               */
  67.     USHORT  fs;             /* State flags for the document.               */
  68.     HWND    hwndFrame;      /* The frame window for this document.         */
  69.     SHORT   cxVertSplitPos; /* x position of the vertical splitbar.        */
  70.     SHORT   cyHorzSplitPos; /* x position of the horizontal splitbar.      */
  71.     HWND    hwndSysMenu;
  72.     HWND    hwndMinmax;
  73.     struct _DOC NEAR *npdocNext;    /* Next document in the application.   */
  74.     struct _VIEW NEAR *npviewFirst; /* The first in the linked list of     */
  75. } DOC;                              /*   views for this document.          */
  76. typedef DOC NEAR *NPDOC;
  77.  
  78. typedef struct _VIEW {  /* view */
  79.     SHORT   xOrigin;        /* The amount to offset by in the x direction. */
  80.     SHORT   yOrigin;        /* The amount to offset by in the y direction. */
  81.     USHORT  fs;             /* Flags for this view.                        */
  82.     HWND    hwndClient;     /* The window handle for this view.            */
  83.     NPDOC   npdoc;          /* The document this view is representing.     */
  84.     struct _VIEW NEAR *npviewNext;  /* The next view for the document.     */
  85. } VIEW;
  86. typedef VIEW NEAR *NPVIEW;
  87.  
  88. /*
  89.  * Macros for DOC/VIEW structures.
  90.  */
  91. #define NPDOCFROMCLIENT(hwndClient)  (((NPVIEW)WinQueryWindowUShort(\
  92.         hwndClient, QWS_USER))->npdoc)
  93.  
  94. #define NPVIEWFROMCLIENT(hwndClient)  ((NPVIEW)WinQueryWindowUShort(\
  95.         hwndClient, QWS_USER))
  96.