home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / H / SW.H < prev    next >
Text File  |  1995-08-24  |  30KB  |  515 lines

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /* Module Name: SW.H                                                        */
  4. /*                                                                          */
  5. /* This is the multimedia include file that has the typedefs, defines and   */
  6. /* function prototyes for Multimedia Applets.                               */
  7. /*                                                                          */
  8. /* Copyright (c) International Business Machines Corporation 1990, 1991     */
  9. /*                        All Rights Reserved                               */
  10. /*                                                                          */
  11. /****************************************************************************/
  12. /* The folowing symbols are used in this file for conditional sections.     */
  13. /*                                                                          */
  14. /*   #define:                To include:                                    */
  15. /*                                                                          */
  16. /*   INCL_SECONDARYWINDOW     Secondary Window                              */
  17. /*   INCL_GRAPHICBUTTON      Graphic Buttons                                */
  18. /*                                                                          */
  19. /*                                                                          */
  20. /****************************************************************************/
  21.  
  22. /* Performance stub for pagetuned pragma header files */
  23. #ifndef PERFSTUB
  24.     #define PERFSTUB
  25.     #include "perfstub.h"
  26. #endif
  27.  
  28. #ifndef __SW_H
  29.    #define __SW_H
  30.  
  31.    #ifdef INCL_SECONDARYWINDOW
  32.  
  33.       #define MAX_SMBDTEXT               35
  34.  
  35.       #define MB_ICONCUSTOM             0x0001
  36.  
  37.       #define SC_DEFAULTSIZE            0xc000          /* WM_COMMAND from SysMenu */
  38.  
  39.       #define WM_INITSECONDARYWINDOW    0x0519          /* MP1: NULL, MP2: CreateParams */
  40.  
  41.       #define QS_FRAME                  0x1             /* Flag set to query frame  */
  42.       #define QS_DIALOG                 0x2             /* Flag set to query dialog */
  43.  
  44.       #pragma pack(4)
  45.  
  46.       typedef struct _SMBD
  47.       {
  48.          CHAR   achText[MAX_SMBDTEXT + 1]; /* Text of the button. eg. "~Cancel"    */
  49.          ULONG  idButton;                  /* Button ID returned when user chooses */
  50.          /*  button                              */
  51.          LONG   flStyle;                   /* Button style or'ed with internal     */
  52.          /*  styles                              */
  53.       } SMBD;
  54.  
  55.       typedef SMBD * PSMBD;
  56.  
  57.       typedef struct _SMBINFO
  58.       {
  59.          HPOINTER hIcon;               /* Icon handle                              */
  60.          ULONG    cButtons;            /* Number of buttons                        */
  61.          ULONG    flStyle;             /* Icon style flags (MB_ICONQUESTION, etc...)*/
  62.          HWND     hwndNotify;          /* Reserved                                 */
  63.          PSMBD    psmbd;               /* Array of button definitions              */
  64.       } SMBINFO;
  65.  
  66.       typedef SMBINFO * PSMBINFO;
  67.  
  68.       #pragma pack()
  69.  
  70.       /* Analogous to WinDlgBox */
  71.  
  72.       ULONG EXPENTRY  WinSecondaryWindow(HWND    hwndParent,
  73.       HWND    hwndOwner,
  74.       PFNWP   pfnDlgProc,
  75.       HMODULE hmod,
  76.       ULONG  idDlg,
  77.       PVOID   pCreateParams);
  78.  
  79.       /* Analogous to WinLoadDlg */
  80.       HWND EXPENTRY  WinLoadSecondaryWindow(HWND    hwndParent,
  81.       HWND    hwndOwner,
  82.       PFNWP   pfnDlgProc,
  83.       HMODULE hmod,
  84.       ULONG   idDlg,
  85.       PVOID   pCreateParams);
  86.  
  87.       /* Analogous to WinProcessDlg */
  88.       ULONG EXPENTRY  WinProcessSecondaryWindow(HWND hwndSW);
  89.  
  90.       /* Analogous to WinCreateDlg  */
  91.       HWND EXPENTRY  WinCreateSecondaryWindow(HWND    hwndParent,
  92.       HWND    hwndOwner,
  93.       PFNWP   pfnDlgProc,
  94.       PDLGTEMPLATE pdlgt,                       /* requires INCL_WINDIALOGS */
  95.       PVOID   pCreateParams);
  96.  
  97.       BOOL EXPENTRY WinDefaultSize(HWND hwnd);
  98.  
  99.       BOOL EXPENTRY WinInsertDefaultSize(HWND hwnd, PSZ pszDefaultSize);
  100.  
  101.       HWND EXPENTRY WinQuerySecondaryHWND(HWND hwnd, ULONG ulFlag);
  102.  
  103.       /************************************************************************/
  104.       /* WinSecondaryMessageBox                                               */
  105.       /*                                                                      */
  106.       /* Parameters: HWND   hwndParent   - handle of the parent window.       */
  107.       /*             HWND   hwndOwner    - handle of the owner window.        */
  108.       /*             PSZ    pszText      - message text.                      */
  109.       /*             PSZ    pszCaption   - title of the message box.          */
  110.       /*             ULONG  idWindow     - Message box id                     */
  111.       /*             PSMBINFO psmbinfo   - pointer to button/icon info        */
  112.       /************************************************************************/
  113.       ULONG  EXPENTRY  WinSecondaryMessageBox(HWND     hwndParent,
  114.       HWND     hwndOwner,
  115.       PSZ      pszText,
  116.       PSZ      pszCaption,
  117.       ULONG    idWindow,
  118.       PSMBINFO psmbinfo);
  119.  
  120.       /************************************************************************/
  121.       /* WinDismissSecondaryWindow                                            */
  122.       /*                                                                      */
  123.       /* This function should be called from within the dlg proc. The hwnd    */
  124.       /* passed in MUST be the handle to the actual dialog.                   */
  125.       /************************************************************************/
  126.  
  127.       BOOL EXPENTRY WinDismissSecondaryWindow(HWND hwndDlg, ULONG ulResult);
  128.  
  129.       /************************************************************************/
  130.       /* The parameter hwnd can be either the secondary window or the actual  */
  131.       /* dialog.                                                              */
  132.       /************************************************************************/
  133.  
  134.       BOOL EXPENTRY WinDestroySecondaryWindow(HWND hwnd);
  135.  
  136.       MRESULT EXPENTRY WinDefSecondaryWindowProc(HWND hwnd, ULONG msg, MPARAM mp1,
  137.       MPARAM mp2);
  138.  
  139.  
  140.    #endif /* ifdef INCL_SECONDARYWINDOW */
  141.  
  142.    #ifdef INCL_GRAPHICBUTTON
  143.  
  144.       /************************************************************************/
  145.       /*                         Graphic Buttons                              */
  146.       /************************************************************************/
  147.  
  148.       /************************************************************************/
  149.       /* Notes on Using GraphicButtons                                        */
  150.       /*                                                                      */
  151.       /* GraphicButton CONTROL DATA                                           */
  152.       /*                                                                      */
  153.       /*  The format of the control data for GraphicButtons is                */
  154.       /*         "button Text, number of bitmaps, bitmap resource id's ..."   */
  155.       /*                                                                      */
  156.       /*                                                                      */
  157.       /*  Following are two example window templates of GraphicButtons:       */
  158.       /*                                                                      */
  159.       /*      1)  CONTROL  "", IDD_MP_REV, 120, 10, TS_PB_WIDTH, TS_PB_HEIGHT,*/
  160.       /*                 WC_GRAPHICBUTTON,                                    */
  161.       /*                 GBS_TWOSTATE | GBS_HILITEBITMAP |                    */
  162.       /*                 WS_VISIBLE | WS_TABSTOP                              */
  163.       /*                 CTLDATA GB_RESOURCE,"~REV", 2, ID_MP_REV1, ID_MP_REV0*/
  164.       /*                                                                      */
  165.       /*  The above graphicbutton has id IDD_MP_REV and is of type            */
  166.       /*  GBS_TWOSTATE and GBS_HILITEBITMAP.  The GBS_HILITEBITMAP allows     */
  167.       /*  a different bitmap to be displayed when the button is in the        */
  168.       /*  hilite state. The graphicbutton will be displayed with text         */
  169.       /*  "REV" and has "R" as the mnemonic.  It has 2 bitmaps associated     */
  170.       /*  with it.  Their resource id are ID_MP_REV1 and ID_MP_REV0.          */
  171.       /*                                                                      */
  172.       /*                                                                      */
  173.       /*      2)   CONTROL  "", IDD_MP_PLAY, 175, 10, TS_PB_WIDTH,            */
  174.       /*                        TS_PB_HEIGHT, WC_GRAPHICBUTTON,               */
  175.       /*                        GBS_AUTOTWOSTATE | GBS_AUTOANIMATION |        */
  176.       /*                        WS_VISIBLE | WS_TABSTOP                       */
  177.       /*                        CTLDATA GB_RESOURCE, "~PLAY", 9,              */
  178.       /*                                ID_MP_STOP0, ID_MP_PLAY1, ID_MP_PLAY2,*/
  179.       /*                                ID_MP_PLAY3, ID_MP_PLAY4, ID_MP_PLAY5,*/
  180.       /*                                ID_MP_PLAY6, ID_MP_PLAY7, ID_MP_REV1  */
  181.       /*                                                                      */
  182.       /*  The above graphicbutton has id IDD_MP_PLAY and is of type           */
  183.       /*  GBS_AUTOTWOSTATE and GBS_AUTOANIMATE.  When clicked upon,           */
  184.       /*  the button will automatically toggle the state and animation.       */
  185.       /*  The graphicbutton will be displayed with text "PLAY"                */
  186.       /*  and mnemonic "P".  It has 9 bitmaps associated with it.             */
  187.       /*                                                                      */
  188.       /*                                                                      */
  189.       /*                                                                      */
  190.       /*  GraphicButton Painting                                              */
  191.       /*                                                                      */
  192.       /*  Due to the PM design, whenever a graphicbutton is clicked,          */
  193.       /*  it is sent a BN_PAINT (to paint a non-hilite state) and then        */
  194.       /*  BN_CLICKED.  Thus, for GBS_AUTO* style graphicbuttons, a paint      */
  195.       /*  request is generated before the button has a chance to change       */
  196.       /*  its state (BN_CLICKED).  To avoid this premature painting,          */
  197.       /*  code was inserted to delay the painting of graphicbuttons           */
  198.       /*  GB_PAINT_RESOLUTION milliseconds whenever the button is switching   */
  199.       /*  FROM the hilite paint state.                                        */
  200.       /*                                                                      */
  201.       /************************************************************************/
  202.  
  203.       BOOL EXPENTRY WinRegisterGraphicButton(VOID);
  204.  
  205.       #define WC_GRAPHICBUTTON ((PSZ)0xffff0040L)
  206.  
  207.       /************************************************************************/
  208.       /*             GraphicButton Animation/TwoState constants               */
  209.       /************************************************************************/
  210.  
  211.       /************************************************************************/
  212.       /*                     Graphic Button Style bits                        */
  213.       /************************************************************************/
  214.  
  215.       #define GBS_TWOSTATE        0x1000  /* indicates TwoState button        */
  216.       #define GBS_AUTOTWOSTATE    0X2000  /* will auto toggle state up/down   */
  217.       #define GBS_ANIMATION       0x4000  /* indicates Animatable button      */
  218.       #define GBS_AUTOANIMATION   0x8000  /* will auto toggle anim. on/off    */
  219.       #define GBS_DISABLEBITMAP   0x0010  /* allows a diff. bitmap when       */
  220.       /* disabled                         */
  221.       #define GBS_HILITEBITMAP    0x0020  /* allows a diff. bitmap when       */
  222.       /* hilited                          */
  223.       #define GBS_3D_TEXTRECESSED 0x0040  /* display text in 3-D recessed     */
  224.       #define GBS_3D_TEXTRAISED   0x0080  /* display text in 3-D raised       */
  225.       #define GBS_MINIBUTTON      0x0001  /* mini button style                */
  226.  
  227.       /************************************************************************/
  228.       /*                     Graphic Button User Constants                    */
  229.       /************************************************************************/
  230.  
  231.       /************************************************************************/
  232.       /* Codes to reference allowed GraphicButton states (or paint states)    */
  233.       /************************************************************************/
  234.  
  235.       #define GB_ERROR           -1       /* GraphicButton Error              */
  236.       #define GB_UP               1       /* GraphicButton up (and paint)     */
  237.       /* state                            */
  238.       #define GB_DOWN             2       /* GraphicButton down (and paint)   */
  239.       /* state                            */
  240.       #define GB_DISABLE          3       /* GraphicButton disabled state     */
  241.       #define GB_HILITE           4       /* GraphicButton paint state only   */
  242.       #define GB_OUTOFHILITE      5       /* Changing out of hilite paint     */
  243.       /* state                            */
  244.  
  245.       /************************************************************************/
  246.       /* Codes for various GraphicButton message function parameters          */
  247.       /************************************************************************/
  248.  
  249.       #define GB_TOGGLE           10      /* GraphicButton toggle             */
  250.       #define GB_CURRENTSTATE     11      /* GraphicButton's current state    */
  251.       #define GB_ANIMATIONBEGIN   12      /* when refering to index of anim   */
  252.       /* start                            */
  253.       #define GB_ANIMATIONEND     13      /* when refering to index of anim   */
  254.       /* end                              */
  255.       #define GB_MAXINDEX         14      /* GraphicButton max. index         */
  256.  
  257.       /************************************************************************/
  258.       /* Codes to set/query text position relative to the bitmap              */
  259.       /************************************************************************/
  260.  
  261.       #define GB_TEXTBELOW        1       /* place text below bitmap          */
  262.       #define GB_TEXTABOVE        2       /* place text above bitmap          */
  263.  
  264.       /************************************************************************/
  265.       /* Codes used to set the animation frame with message GBM_SETBITMAPINDEX*/
  266.       /************************************************************************/
  267.  
  268.       #define GB_INDEX_FORWARD   -1       /* advance one frame foward         */
  269.       #define GB_INDEX_BACKWARD  -2       /* advance one frame backwards      */
  270.       #define GB_INDEX_FIRST     -3       /* set to first frame of sequence   */
  271.       #define GB_INDEX_LAST      -4       /* set to last frame of sequence    */
  272.  
  273.       #pragma pack(1)
  274.  
  275.       typedef struct _GBTNCDATA
  276.       {
  277.          USHORT  usReserved;
  278.          PSZ     pszText;
  279.          HMODULE hmod;
  280.          USHORT  cBitmaps;
  281.          USHORT  aidBitmap[1];
  282.       } GBTNCDATA;
  283.  
  284.       typedef GBTNCDATA *PGBTNCDATA;
  285.  
  286.       #pragma pack()
  287.  
  288.       #define GB_RESOURCE  1
  289.       #define GB_STRUCTURE 0
  290.  
  291.  
  292.       /************************************************************************/
  293.       /*          Notification Messages received by GraphicButton Parent      */
  294.       /***********************************************************************/
  295.       /************************************************************************/
  296.       /* GBN_BUTTONDOWN, GBN_BUTTONUP, and GBN_BUTTONHILITE                   */
  297.       /*                                                                      */
  298.       /* The notification messages are passed as part of the WM_CONTROL       */
  299.       /* message.                                                             */
  300.       /*                                                                      */
  301.       /* msg = WM_CONTROL                                                     */
  302.       /* mp1 = MPFROM2SHORT(gpb_id, button_state)                             */
  303.       /*         gpd_id       = identity of the displayed graphic pushbutton  */
  304.       /*         button_state = GBN_BUTTONUP, GBN_BUTTONDOWN, or              */
  305.       /*                        GBN_BUTTONHILITE                              */
  306.       /*                                                                      */
  307.       /************************************************************************/
  308.  
  309.       #define GBN_BUTTONUP     0x0524
  310.       #define GBN_BUTTONDOWN   0x0525
  311.       #define GBN_BUTTONHILITE 0x0526
  312.       #define GBN_SETFOCUS     0x0527   /* mp2 TRUE for gaining focus */
  313.  
  314.       /************************************************************************/
  315.       /*          Messages to GraphicButton Windows                           */
  316.       /************************************************************************/
  317.  
  318.       /************************************************************************/
  319.       /*                             GBM_SETGRAPHICDATA                       */
  320.       /************************************************************************/
  321.       /* mp1 = MPFROMP((PGBTNCDATA)&gbtncdata);    Graphic button control data*/
  322.       /* mp2 = NULL;                               not used                   */
  323.       /*                                                                      */
  324.       /* WARNING: This message resets all button parameters.                  */
  325.       /*                                                                      */
  326.       /************************************************************************/
  327.  
  328.       #define GBM_SETGRAPHICDATA   0x052A
  329.  
  330.  
  331.       /************************************************************************/
  332.       /*                             GBM_ANIMATE                              */
  333.       /************************************************************************/
  334.       /* mp1 = MPFROMSHORT(fStart)      TRUE to start animation, FALSE to stop*/
  335.       /* mp2 = MPFROMSHORT(fContinue)   TRUE continue anim. at currently      */
  336.       /*                                displayed bitmap, FALSE restart at    */
  337.       /*                                the beginning.                        */
  338.       /*                                                                      */
  339.       /* Returns TRUE on Success                                              */
  340.       /*         FALSE on Failure                                             */
  341.       /*                                                                      */
  342.       /************************************************************************/
  343.  
  344.       #define GBM_ANIMATE 0x052B
  345.  
  346.  
  347.       /************************************************************************/
  348.       /*                             GBM_SETANIMATIONRATE                     */
  349.       /************************************************************************/
  350.       /* mp1 = MPFROMSHORT(ULmIL);      Animation rate in milliseconds        */
  351.       /* mp2 = NULL                     not used                              */
  352.       /*                                                                      */
  353.       /*                                                                      */
  354.       /* Returns TRUE on Success                                              */
  355.       /*         FALSE on Failure                                             */
  356.       /*                                                                      */
  357.       /************************************************************************/
  358.  
  359.       #define GBM_SETANIMATIONRATE 0x052C
  360.  
  361.  
  362.       /************************************************************************/
  363.       /*                             GBM_QUERYANIMATIONACTIVE                 */
  364.       /************************************************************************/
  365.       /* mp1 = NULL;                    not used                              */
  366.       /* mp2 = NULL;                    not used                              */
  367.       /*                                                                      */
  368.       /*                                                                      */
  369.       /* Returns TRUE if animation is active, else GB_ERROR                   */
  370.       /*                                                                      */
  371.       /*                                                                      */
  372.       /************************************************************************/
  373.  
  374.       #define GBM_QUERYANIMATIONACTIVE 0x052D
  375.  
  376.  
  377.       /************************************************************************/
  378.       /*                             GBM_QUERYANIMATIONRATE                   */
  379.       /************************************************************************/
  380.       /* mp1 = NULL;                    not used                              */
  381.       /* mp2 = NULL;                    not used                              */
  382.       /*                                                                      */
  383.       /*                                                                      */
  384.       /* Returns ULONG sepcifying animation rate in milliseconds              */
  385.       /*                                                                      */
  386.       /*                                                                      */
  387.       /************************************************************************/
  388.  
  389.       #define GBM_QUERYANIMATIONRATE 0x052E
  390.  
  391.  
  392.       /************************************************************************/
  393.       /*                             GBM_SETBITMAPINDEX                       */
  394.       /************************************************************************/
  395.       /* mp1 = MPFROMSHORT(usGB_State)       Bitmap index to change           */
  396.       /*             GB_UP,                                                   */
  397.       /*             GB_DOWN,                                                 */
  398.       /*             GB_DISABLE,                                              */
  399.       /*             GB_HILITE,                                               */
  400.       /*             GB_ANIMATIONBEGIN,                                       */
  401.       /*             GB_ANIMATIONEND,                                         */
  402.       /*          or GB_CURRENTSTATE    chng current state (up or down) bitmap*/
  403.       /* mp2 = MPFROMSHORT(sFrameCode)  Set according to code or frame desire */
  404.       /*             GB_INDEX_FORWARD,  chng to next bitmap in circular array */
  405.       /*             GB_INDEX_BACKWARD, "   "  prev   "    "     "       "    */
  406.       /*             GB_INDEX_FIRST,    "   "  first  "    "     "       "    */
  407.       /*             GB_INDEX_LAST,     "   "  last   "    "     "       "    */
  408.       /*          or desired_bitmap     otherwise desired bmp index specified */
  409.       /*                                                                      */
  410.       /* Returns TRUE on Success, otherwise FALSE                             */
  411.       /*                                                                      */
  412.       /************************************************************************/
  413.  
  414.       #define GBM_SETBITMAPINDEX 0x052F
  415.  
  416.  
  417.       /************************************************************************/
  418.       /*                             GBM_QUERYBITMAPINDEX                     */
  419.       /************************************************************************/
  420.       /*  mp1 = MPFROMSHORT(usGB_State)       Query bitmap index              */
  421.       /*            GB_UP,                                                    */
  422.       /*            GB_DOWN,                                                  */
  423.       /*            GB_DISABLE,                                               */
  424.       /*            GB_HILITE,                                                */
  425.       /*            GB_ANIMATIONBEGIN,                                        */
  426.       /*            GB_ANIMATIONEND,                                          */
  427.       /*         or GB_CURRENTSTATE  query current state (up or down) bitmap  */
  428.       /*  mp2 = NULL;                    not used                             */
  429.       /*                                                                      */
  430.       /*  Returns USHORT specifying the index                                 */
  431.       /*                                                                      */
  432.       /*                                                                      */
  433.       /************************************************************************/
  434.  
  435.       #define GBM_QUERYBITMAPINDEX 0x0530
  436.  
  437.       /************************************************************************/
  438.       /*                             GBM_SETSTATE                             */
  439.       /************************************************************************/
  440.       /* mp1 = MPFROMSHORT(usStateCode)   Set twostate button to specified    */
  441.       /*                                  state                               */
  442.       /*             GB_UP,                                                   */
  443.       /*             GB_DOWN,                                                 */
  444.       /*          or GB_TOGGLE          toggle (up/down) to (down/up)         */
  445.       /* mp2 = MPFROMBOOL(fRepaint)     TRUE  - state changed and displayed   */
  446.       /*                                FALSE - state changed, not displayed  */
  447.       /*                                                                      */
  448.       /* Returns TRUE on Success                                              */
  449.       /*         FALSE on Failure                                             */
  450.       /*                                                                      */
  451.       /*                                                                      */
  452.       /************************************************************************/
  453.  
  454.       #define GBM_SETSTATE 0x0531
  455.  
  456.       /************************************************************************/
  457.       /*                             GBM_QUERYSTATE                           */
  458.       /************************************************************************/
  459.       /*                                                                      */
  460.       /* mp1 = NULL                        not used                           */
  461.       /* mp2 = NULL                        not used                           */
  462.       /*                                                                      */
  463.       /* Returns the state (GB_UP or GB_DOWN) else GB_ERROR.                  */
  464.       /*                                                                      */
  465.       /*                                                                      */
  466.       /************************************************************************/
  467.  
  468.       #define GBM_QUERYSTATE 0x0532
  469.  
  470.       /************************************************************************/
  471.       /*                             GBM_SETTEXTPOSITION                      */
  472.       /************************************************************************/
  473.       /* mp1 = MPFROMSHORT(usTextPos)   How to position text relative to      */
  474.       /*                                  bitmap                              */
  475.       /*               GB_TEXTBELOW,                                          */
  476.       /*            or GB_TEXTABOVE                                           */
  477.       /*   mp2 = NULL                     not used                            */
  478.       /*                                                                      */
  479.       /*   Returns TRUE on Success, otherwise FALSE                           */
  480.       /*                                                                      */
  481.       /************************************************************************/
  482.  
  483.       #define GBM_SETTEXTPOSITION 0x0533
  484.  
  485.       /************************************************************************/
  486.       /*                             GBM_QUERYTEXTPOSITION                    */
  487.       /************************************************************************/
  488.       /*                                                                      */
  489.       /*  mp1 = NULL                          not used                        */
  490.       /*  mp2 = NULL                          not used                        */
  491.       /*                                                                      */
  492.       /*  Returns GB_TEXTBELOW, GB_TEXTABOVE, GB_TEXTRIGHT, GB_TEXTLEFT       */
  493.       /*  on success, otherwise FALSE                                         */
  494.       /*                                                                      */
  495.       /************************************************************************/
  496.  
  497.       #define GBM_QUERYTEXTPOSITION 0x0534
  498.  
  499.  
  500.       /************************************************************************/
  501.       /*                             GraphicButton END                        */
  502.       /************************************************************************/
  503.  
  504.    #endif /* ifdef INCL_GRAPHICBUTTON  */
  505.  
  506.    #ifdef INCL_STPMPAGE
  507.       #define MM_TABHELP  0x054C
  508.    #endif /* INCL_STPMPAGE */
  509.  
  510.  
  511. #endif /* ifndef __SW_H  */
  512.  
  513.  
  514.  
  515.