Annotation of os232sdk/toolkt20/c/os2h/pmstddlg.h, revision 1.1

1.1     ! root        1: /**********************************************************************\
        !             2: *                                                                     *
        !             3: * Module Name: PMSTDDLG.H                                             *
        !             4: *                                                                     *
        !             5: * OS/2 Presentation Manager Standard Dialog Declarations              *
        !             6: *                                                                     *
        !             7: * Copyright (c) 1987  Microsoft Corporation                           *
        !             8: * Copyright (c) 1987  IBM Corporation                                 *
        !             9: *                                                                     *
        !            10: * ==================================================================== *
        !            11: * The following symbols are used in this file for conditional         *
        !            12: * sections:                                                           *
        !            13: *                                                                     *
        !            14: * INCL_WINSTDDLGS               - include all dialogs/controls        *
        !            15: * INCL_WINSTDFILE               - standard file dialog                *
        !            16: * INCL_WINSTDFONT               - standard font dialog                *
        !            17: * INCL_WINSTDSPIN               - spin button control class           *
        !            18: * INCL_WINSTDDRAG               - standard drag dll                   *
        !            19: *                                                                     *
        !            20: \**********************************************************************/
        !            21: 
        !            22: #if !(defined(INCL_32) || defined(INCL_16))
        !            23: #ifdef M_I386
        !            24:     #define INCL_32
        !            25: #else /* not M_I386 */
        !            26:     #define INCL_16
        !            27: #endif /* M_I386 */
        !            28: #endif /* INCL_32 || INCL_16 */
        !            29: 
        !            30: #ifdef INCL_WINSTDDLGS /* enable everything */
        !            31:     #define INCL_WINSTDFILE
        !            32:     #define INCL_WINSTDFONT
        !            33:     #define INCL_WINSTDSPIN
        !            34:     #define INCL_WINSTDDRAG
        !            35: #endif /* INCL_WINSTDDLGS */
        !            36: 
        !            37: 
        !            38: #ifdef INCL_WINSTDFILE
        !            39: /**********************************************************************/
        !            40: /*                                                                   */
        !            41: /*                    F I L E    D I A L O G                         */
        !            42: /*                                                                   */
        !            43: /**********************************************************************/
        !            44: 
        !            45: /*--------------------------------------------------------------------*/
        !            46: /* File Dialog Selector Constants:                                   */
        !            47: /*    Prime variable FILEDLG.usDialogType with desired dialog type.   */
        !            48: /*--------------------------------------------------------------------*/
        !            49: #define         OPEN_DIALOG    0        /* Select OPEN   dialog.             */
        !            50: #define         SAVEAS_DIALOG  1        /* Select SaveAs dialog.             */
        !            51: 
        !            52: /*--------------------------------------------------------------------*/
        !            53: /* File Dialog Invocation Flag Definitions.                          */
        !            54: /*--------------------------------------------------------------------*/
        !            55: #define         FDS_CENTER        0x00000001L /* Center within owner dialog. */
        !            56: #define         FDS_CUSTOM        0x00000002L /* Use custom user template    */
        !            57: #define         FDS_HELPBUTTON    0x00000008L /* Display Help button         */
        !            58: 
        !            59: /*--------------------------------------------------------------------*/
        !            60: /* Error Return Codes from dialog (self defining)                    */
        !            61: /*--------------------------------------------------------------------*/
        !            62: #define         FDS_SUCCESSFUL                            0
        !            63: #define         FDS_ERR_DEALLOCATE_MEMORY                 1
        !            64: #define         FDS_ERR_FILTER_TRUNC                      2
        !            65: #define         FDS_ERR_INVALID_DIALOG                    3
        !            66: #define         FDS_ERR_INVALID_DRIVE                     4
        !            67: #define         FDS_ERR_INVALID_FILTER                    5
        !            68: #define         FDS_ERR_INVALID_PATHFILE                  6
        !            69: #define         FDS_ERR_OUT_OF_MEMORY                     7
        !            70: #define         FDS_ERR_PATH_TOO_LONG                     8
        !            71: #define         FDS_ERR_TOO_MANY_FILE_TYPES               9
        !            72: #define         FDS_ERR_INVALID_VERSION                   10
        !            73: #define         FDS_ERR_INVALID_CUSTOM_HANDLE             11
        !            74: #define         FDS_ERR_DIALOG_LOAD_ERROR                 12
        !            75: #define         FDS_ERR_DRIVE_ERROR                       13
        !            76: 
        !            77: /*--------------------------------------------------------------------*/
        !            78: /* File Dialog Messages.                                             */
        !            79: /*--------------------------------------------------------------------*/
        !            80: #define        FDM_FILTER       (WM_USER+40)  /* mp1 = PSZ pszFileName       */
        !            81:                                     /* mp2 = PSZ EA .type value      */
        !            82:                                     /* mr  = TRUE -> keep file.      */
        !            83: #define        FDM_VALIDATE     (WM_USER+41)  /* mp1 = PSZ pszPathName       */
        !            84:                                     /* mp2 = Application return value*/
        !            85:                                     /* mr  = TRUE -> Exit dialog     */
        !            86: 
        !            87: /*--------------------------------------------------------------------*/
        !            88: /* Define the window word offset for the "lUser" data value.         */
        !            89: /*--------------------------------------------------------------------*/
        !            90: #define         WWO_APP            QWL_USER
        !            91: 
        !            92: /*--------------------------------------------------------------------*/
        !            93: /* Define the type that is a pointer to an array of pointers.        */
        !            94: /*     Hence: pointer to an array of Z string pointers.                      */
        !            95: /*--------------------------------------------------------------------*/
        !            96: typedef         PSZ      (FAR * PAPSZ)[1];
        !            97: 
        !            98: /*--------------------------------------------------------------------*/
        !            99: /* File Dialog application data structure.                           */
        !           100: /*--------------------------------------------------------------------*/
        !           101: typedef struct _FILEDLG {  /* fild */
        !           102:     ULONG    cbsize;           /* Size of FILEDLG structure.         */
        !           103:     ULONG    fl;               /* FDS_ flags. Alter behavior of dlg. */
        !           104:     ULONG    lUser;            /* User defined field.                */
        !           105:     ULONG    lReturn;          /* Result code from dialog dismissal. */
        !           106:     LONG     lSRC;             /* System return code.                */
        !           107:     PSZ             pszTitle;          /* String to display in title bar.    */
        !           108:     PSZ             pszOKButton;       /* String to display in OK button.    */
        !           109:     PFNWP    pfnDlgProc;       /* Entry point to custom dialog proc. */
        !           110:     PSZ             pszIType;          /* Pointer to string containing       */
        !           111:                                /*   initial EA type filter. Type     */
        !           112:                                /*   does not have to exist in list.  */
        !           113:     PAPSZ    ppszITypeList;    /* Pointer to table of pointers that  */
        !           114:                                /*    point to null terminated Type   */
        !           115:                                /*    strings. End of table is marked */
        !           116:                                /*    by a NULL pointer.              */
        !           117:     PSZ             pszIDrive;         /* Pointer to string containing       */
        !           118:                                /*   initial drive. Drive does not    */
        !           119:                                /*   have to exist in drive list.     */
        !           120:     PAPSZ    ppszIDriveList;   /* Pointer to table of pointers that  */
        !           121:                                /*    point to null terminated Drive  */
        !           122:                                /*    strings. End of table is marked */
        !           123:                                /*    by a NULL pointer.              */
        !           124:     HMODULE  hmod;             /* Custom File Dialog template.       */
        !           125:     #ifdef INCL_16
        !           126:       USHORT _align;
        !           127:     #endif
        !           128:     char  szFullFile [CCHMAXPATH];   /* Initial or selected fully     */
        !           129:                                     /* qualified path and file.      */
        !           130:     USHORT   idDlg;            /* Custom dialog id.                  */
        !           131:     USHORT   usDialogType;     /* Dialog selector. File or SaveAs.   */
        !           132:     SHORT    x;                        /* Dialog position coordinates.       */
        !           133:     SHORT    y;
        !           134:     SHORT    sEAType;          /* Selected file's EA Type.       */
        !           135:     BOOL     bEnableFileLB;    /* Flag for saveas file listbox enable*/
        !           136: } FILEDLG, FAR *PFILEDLG;
        !           137: 
        !           138: /*--------------------------------------------------------------------*/
        !           139: /* File Dialog - Function Prototype                                  */
        !           140: /*--------------------------------------------------------------------*/
        !           141: #ifdef INCL_16
        !           142: #define        KitFileDlgProc          Kit16FileDlgProc
        !           143: #define        KitFileDlg(hwnd,pfild)  Kit16FileDlg(hwnd,pfild,TRUE)
        !           144: HWND   APIENTRY Kit16FileDlg (HWND hwnd, PFILEDLG pfild, BOOL fIs16);
        !           145: #else
        !           146: HWND   APIENTRY KitFileDlg (HWND hwnd, PFILEDLG pfild);
        !           147: #endif /* INCL_16 */
        !           148: 
        !           149: MRESULT APIENTRY KitFileDlgProc( HWND hwnd, USHORT msg, MPARAM mp1,
        !           150:                                 MPARAM mp2);
        !           151: 
        !           152: /*--------------------------------------------------------------------*/
        !           153: /* File Dialog - dialog and control ids                                      */
        !           154: /*--------------------------------------------------------------------*/
        !           155: #define          DID_FILE_DIALOG             256
        !           156: #define          DID_FILENAME_TXT            257
        !           157: #define          DID_FILENAME_ED             258
        !           158: #define          DID_DRIVE_TXT               259
        !           159: #define          DID_DRIVE_CB                260
        !           160: #define          DID_FILTER_TXT              261
        !           161: #define          DID_FILTER_CB               262
        !           162: #define          DID_DIRECTORY_TXT           263
        !           163: #define          DID_DIRECTORY_LB            264
        !           164: #define          DID_DIRECTORY2_LB           265
        !           165: #define          DID_FILES_TXT               266
        !           166: #define          DID_FILES_LB                267
        !           167: #define          DID_OK_PB                   DID_OK
        !           168: #define          DID_CANCEL_PB               DID_CANCEL
        !           169: #define          DID_HELP_PB                 270
        !           170: 
        !           171: #define          IDS_FILE_ALL_FILES_SELECTOR      1000
        !           172: #define          IDS_FILE_BACK_CUR_PATH           1001
        !           173: #define          IDS_FILE_BACK_PREV_PATH          1002
        !           174: #define          IDS_FILE_BACK_SLASH              1003
        !           175: #define          IDS_FILE_BASE_FILTER             1004
        !           176: #define          IDS_FILE_BLANK                   1005
        !           177: #define          IDS_FILE_COLON                   1006
        !           178: #define          IDS_FILE_DOT                     1007
        !           179: #define          IDS_FILE_DRIVE_LETTERS           1008
        !           180: #define          IDS_FILE_FWD_CUR_PATH            1009
        !           181: #define          IDS_FILE_FWD_PREV_PATH           1010
        !           182: #define          IDS_FILE_FORWARD_SLASH           1011
        !           183: #define          IDS_FILE_PARENT_DIR              1012
        !           184: #define          IDS_FILE_Q_MARK                  1013
        !           185: #define          IDS_FILE_SPLAT                   1014
        !           186: #define          IDS_FILE_SPLAT_DOT               1015
        !           187: #define          IDS_FILE_SAVEAS_TITLE            1016
        !           188: #define          IDS_FILE_SAVEAS_FILTER_TXT       1017
        !           189: #define          IDS_FILE_SAVEAS_FILENM_TXT       1018
        !           190: #define          IDS_FILE_DUMMY_FILE_NAME         1019
        !           191: #define          IDS_FILE_DUMMY_FILE_EXT          1020
        !           192: #define          IDS_FILE_DUMMY_DRIVE             1021
        !           193: #define          IDS_FILE_DUMMY_ROOT_DIR          1022
        !           194: #define          IDS_FILE_PATH_PTR                1023
        !           195: #define          IDS_FILE_VOLUME_PREFIX           1024
        !           196: #define          IDS_FILE_VOLUME_SUFFIX           1025
        !           197: 
        !           198: #define          IDS_FILE_BAD_DRIVE_NAME          1100
        !           199: #define          IDS_FILE_BAD_DRIVE_OR_PATH_NAME  1101
        !           200: #define          IDS_FILE_BAD_FILE_NAME           1102
        !           201: #define          IDS_FILE_BAD_FQF                 1103
        !           202: #define          IDS_FILE_BAD_NETWORK_NAME        1104
        !           203: #define          IDS_FILE_BAD_SUB_DIR_NAME        1105
        !           204: #define          IDS_FILE_DRIVE_NOT_AVAILABLE     1106
        !           205: #define          IDS_FILE_FQFNAME_TOO_LONG        1107
        !           206: #define          IDS_FILE_OPEN_DIALOG_NOTE        1108
        !           207: #define          IDS_FILE_PATH_TOO_LONG           1109
        !           208: #define          IDS_FILE_SAVEAS_DIALOG_NOTE      1110
        !           209: 
        !           210: #define          IDS_FILE_DRIVE_DISK_CHANGE       1120
        !           211: #define          IDS_FILE_DRIVE_NOT_READY1        1121
        !           212: #define          IDS_FILE_DRIVE_NOT_READY2        1122
        !           213: #define          IDS_FILE_DRIVE_LOCKED            1123
        !           214: #define          IDS_FILE_DRIVE_NO_SECTOR         1124
        !           215: #define          IDS_FILE_DRIVE_SOME_ERROR        1125
        !           216: #define          IDS_FILE_DRIVE_INVALID           1126
        !           217: #define          IDS_FILE_INSERT_DISK_NOTE        1127
        !           218: #define          IDS_FILE_OK_WHEN_READY           1128
        !           219: 
        !           220: #endif /* INCL_WINSTDFILE */
        !           221: 
        !           222: 
        !           223: #ifdef INCL_WINSTDFONT
        !           224: /**********************************************************************/
        !           225: /*                                                                   */
        !           226: /*                    F O N T    D I A L O G                         */
        !           227: /*                                                                   */
        !           228: /**********************************************************************/
        !           229: 
        !           230: /**********************************************************************/
        !           231: /* Font Dialog Creation Structure                                    */
        !           232: /**********************************************************************/
        !           233: typedef struct _FONTDLG {  /* fntd */
        !           234:     ULONG   cbSize;            /* sizeof(FONTDLG)                 */
        !           235:     HPS            hpsScreen;          /* Screen presentation space       */
        !           236:     HPS            hpsPrinter;         /* Printer presentation space      */
        !           237:     PSZ            pszTitle;           /* Application supplied title      */
        !           238:     PSZ            pszPreview;         /* String to print in preview wndw */
        !           239:     PSZ            pszPtSizeList;      /* Application provided size list  */
        !           240:     PFNWP   pfnDlgProc;                /* Dialog subclass procedure       */
        !           241:     CHAR    szFamilyname[FACESIZE];    /* Familyname of font      */
        !           242:     FIXED   fxPointSize;       /* Point size the user selected    */
        !           243:     ULONG   fl;                        /* FNTS_* flags                    */
        !           244:     ULONG   flFlags;           /* FNTF_* state flags              */
        !           245:     ULONG   flType;            /* Font type option bits           */
        !           246:     ULONG   flTypeMask;                /* Mask of which font types to use */
        !           247:     ULONG   flStyle;           /* The selected style bits         */
        !           248:     ULONG   flStyleMask;       /* Mask of which style bits to use */
        !           249:     ULONG   flCHSOptions;      /* CHS_* options the user selected */
        !           250:     ULONG   flCHSMask;         /* Mask of CHS_* options to use    */
        !           251:     LONG    clrFore;           /* Selected foreground color       */
        !           252:     LONG    clrBack;           /* Selected background color       */
        !           253:     ULONG   lUser;             /* Blank field for application     */
        !           254:     LONG    lReturn;           /* Return Value of the Dialog      */
        !           255:     LONG    lEmHeight;         /* Em height of the current font   */
        !           256:     LONG    lXHeight;          /* X height of the current font    */
        !           257:     LONG    lExternalLeading;  /* External Leading of font        */
        !           258:     HMODULE hMod;              /* Module to load custom template  */
        !           259:     #ifdef INCL_16
        !           260:       USHORT _align;
        !           261:     #endif
        !           262:     SHORT   sNominalPointSize; /* Nominal Point Size of font      */
        !           263:     USHORT  usWeight;          /* The boldness of the font        */
        !           264:     USHORT  usWidth;           /* The width of the font           */
        !           265:     SHORT   x;                 /* X coordinate of the dialog      */
        !           266:     SHORT   y;                 /* Y coordinate of the dialog      */
        !           267:     USHORT  idDlg;             /* ID of a custom dialog template  */
        !           268:     FATTRS  fAttrs;            /* Font attribute structure        */
        !           269: } FONTDLG, FAR *PFONTDLG;
        !           270: 
        !           271: /**********************************************************************/
        !           272: /* Font Dialog Style Flags                                           */
        !           273: /**********************************************************************/
        !           274: #define        FNTS_CENTER                 1L
        !           275: #define        FNTS_CUSTOM                 2L
        !           276: #define        FNTS_MULTIFONTSELECTION     4L
        !           277: #define        FNTS_HELPBUTTON             8L
        !           278: #define        FNTS_APPLYBUTTON           16L
        !           279: #define        FNTS_RESETBUTTON           32L
        !           280: #define        FNTS_MODELESS              64L
        !           281: 
        !           282: /**********************************************************************/
        !           283: /* Font Dialog Flags                                                 */
        !           284: /**********************************************************************/
        !           285: #define        FNTF_VIEWPRINTERFONTS       1L
        !           286: #define        FNTF_PRINTERFONTSELECTED    2L
        !           287: 
        !           288: /**********************************************************************/
        !           289: /* Color code definitions                                            */
        !           290: /**********************************************************************/
        !           291: #define        CLRC_FOREGROUND             1L
        !           292: #define        CLRC_BACKGROUND             2L
        !           293: 
        !           294: /**********************************************************************/
        !           295: /* Font Dialog Messages                                                      */
        !           296: /**********************************************************************/
        !           297: #define        FNTM_FACENAMECHANGED   (WM_USER+50)  /* mp1 = PSZ pszFacename   */
        !           298: #define        FNTM_POINTSIZECHANGED  (WM_USER+51)  /* mp1 = PSZ pszPointSize, */
        !           299:                                           /* mp2 = FIXED fxPointSize */
        !           300: #define        FNTM_STYLECHANGED      (WM_USER+52)  /* mp1 = PSTYLECHANGE pstyc*/
        !           301: #define        FNTM_COLORCHANGED      (WM_USER+53)  /* mp1 = LONG clr        */
        !           302:                                           /* mp2 = USHORT codeClr    */
        !           303: #define        FNTM_UPDATEPREVIEW     (WM_USER+54)  /* mp1 = HWND hWndPreview  */
        !           304: 
        !           305: /**********************************************************************/
        !           306: /* Stylechange message parameter structure                           */
        !           307: /**********************************************************************/
        !           308: typedef struct _STYLECHANGE {  /* stylechg */
        !           309:     USHORT     usWeight;
        !           310:     USHORT     usWeightOld;
        !           311:     USHORT     usWidth;
        !           312:     USHORT     usWidthOld;
        !           313:     ULONG      flType;
        !           314:     ULONG      flTypeOld;
        !           315:     ULONG      flTypeMask;
        !           316:     ULONG      flTypeMaskOld;
        !           317:     ULONG      flStyle;
        !           318:     ULONG      flStyleOld;
        !           319:     ULONG      flStyleMask;
        !           320:     ULONG      flStyleMaskOld;
        !           321:     ULONG      flCHSOptions;
        !           322:     ULONG      flCHSOptionsOld;
        !           323:     ULONG      flCHSMask;
        !           324:     ULONG      flCHSMaskOld;
        !           325: } STYLECHANGE, FAR *PSTYLECHANGE;
        !           326: 
        !           327: /**********************************************************************/
        !           328: /* Font Dialog Shared Segment Names                                  */
        !           329: /**********************************************************************/
        !           330: #define        FONTDLG_SHARED_SEGMENT1 "\\SHAREMEM\\EPKFDS01.SEG"
        !           331: #define        FONTDLG_SHARED_SEGMENT2 "\\SHAREMEM\\EPKFDS02.SEG"
        !           332: 
        !           333: /**********************************************************************/
        !           334: /* Font Dialog Semaphore Name                                        */
        !           335: /**********************************************************************/
        !           336: #define        FONTDLG_SEMAPHORE       "\\SEM\\EPKFDS01.SEM"
        !           337: 
        !           338: /**********************************************************************/
        !           339: /* Font Dialog Function Prototypes                                   */
        !           340: /**********************************************************************/
        !           341: #ifdef INCL_16
        !           342: #define        KitDefFontDlgProc          Kit16DefFontDlgProc
        !           343: #define        KitFontDialog(hwnd,pfntd)  Kit16FontDialog(hwnd,pfntd,TRUE)
        !           344: HWND   APIENTRY Kit16FontDialog (HWND hwnd, PFONTDLG pfntd, BOOL fIs16);
        !           345: #else
        !           346: HWND   APIENTRY KitFontDialog (HWND hwnd, PFONTDLG pfntd);
        !           347: #endif /* INCL_16 */
        !           348: 
        !           349: MRESULT APIENTRY KitDefFontDlgProc (HWND hwnd, USHORT msg, MPARAM mp1,
        !           350:                                    MPARAM mp2 );
        !           351: 
        !           352: /**********************************************************************/
        !           353: /* font dialog and control id's                                   */
        !           354: /**********************************************************************/
        !           355: #define        DID_FONT_DIALOG          300
        !           356: #define        DID_NAME_PREFIX          301
        !           357: #define        DID_NAME                 302
        !           358: #define        DID_NAME2                303
        !           359: #define        DID_STYLE_PREFIX         304
        !           360: #define        DID_STYLE                305
        !           361: #define        DID_STYLE2               306
        !           362: #define        DID_DISPLAY_FILTER       307
        !           363: #define        DID_PRINTER_FILTER       308
        !           364: #define        DID_SIZE_PREFIX          309
        !           365: #define        DID_SIZE                 310
        !           366: #define        DID_SAMPLE_GROUPBOX      311
        !           367: #define        DID_SAMPLE               312
        !           368: #define        DID_HELP_BUTTON          313
        !           369: #define        DID_EMPHASIS_GROUPBOX    314
        !           370: #define        DID_OUTLINE              315
        !           371: #define        DID_UNDERSCORE           316
        !           372: #define        DID_STRIKEOUT            317
        !           373: #define        DID_APPLY_BUTTON         318
        !           374: #define        DID_RESET_BUTTON         319
        !           375: 
        !           376: /**********************************************************************/
        !           377: /* Stringtable id's                                          */
        !           378: /**********************************************************************/
        !           379: #define        IDS_FONT_SAMPLE            350
        !           380: #define        IDS_FONT_KEY_0             351
        !           381: #define        IDS_FONT_KEY_9             352
        !           382: #define        IDS_FONT_KEY_SEP           353
        !           383: #define        IDS_FONT_DISP_ONLY         354
        !           384: #define        IDS_FONT_PRINTER_ONLY      355
        !           385: #define        IDS_FONT_COMBINED          356
        !           386: #define        IDS_FONT_WEIGHT1           357
        !           387: #define        IDS_FONT_WEIGHT2           358
        !           388: #define        IDS_FONT_WEIGHT3           360
        !           389: #define        IDS_FONT_WEIGHT4           361
        !           390: #define        IDS_FONT_WEIGHT5           362
        !           391: #define        IDS_FONT_WEIGHT6           363
        !           392: #define        IDS_FONT_WEIGHT7           364
        !           393: #define        IDS_FONT_WEIGHT8           365
        !           394: #define        IDS_FONT_WEIGHT9           366
        !           395: #define        IDS_FONT_WIDTH1            367
        !           396: #define        IDS_FONT_WIDTH2            368
        !           397: #define        IDS_FONT_WIDTH3            369
        !           398: #define        IDS_FONT_WIDTH4            370
        !           399: #define        IDS_FONT_WIDTH5            371
        !           400: #define        IDS_FONT_WIDTH6            372
        !           401: #define        IDS_FONT_WIDTH7            373
        !           402: #define        IDS_FONT_WIDTH8            374
        !           403: #define        IDS_FONT_WIDTH9            375
        !           404: #define        IDS_FONT_OPTION1           376
        !           405: #define        IDS_FONT_OPTION2           377
        !           406: #define        IDS_FONT_OPTION3           378
        !           407: #define        IDS_FONT_POINT_SIZE_LIST   379
        !           408: 
        !           409: #endif /* INCL_WINSTDFONT */
        !           410: 
        !           411: #ifdef INCL_WINSTDSPIN
        !           412: /**********************************************************************/
        !           413: /*                                                                   */
        !           414: /*                         S P I N    B U T T O N                    */
        !           415: /*                                                                   */
        !           416: /**********************************************************************/
        !           417: 
        !           418: /**********************************************************************/
        !           419: /* SPINBUTTON Creation Flags                                         */
        !           420: /**********************************************************************/
        !           421: 
        !           422: /**********************************************************************/
        !           423: /* Character Acceptance                                                      */
        !           424: /**********************************************************************/
        !           425: #define        SPBS_ALLCHARACTERS 0x00000000L /* Default: All chars accepted */
        !           426: #define        SPBS_NUMERICONLY   0x00000001L /* Only 0 - 9 accepted & VKeys */
        !           427: #define        SPBS_READONLY      0x00000002L /* No chars allowed in entryfld*/
        !           428: 
        !           429: /**********************************************************************/
        !           430: /* Type of Component                                                 */
        !           431: /**********************************************************************/
        !           432: #define        SPBS_MASTER        0x00000010L
        !           433: #define        SPBS_SERVANT       0x00000000L /* Default: Servant            */
        !           434: 
        !           435: /**********************************************************************/
        !           436: /* Type of Justification                                             */
        !           437: /**********************************************************************/
        !           438: #define        SPBS_JUSTDEFAULT  0x00000000L /* Default: Same as Left        */
        !           439: #define        SPBS_JUSTLEFT     0x00000008L
        !           440: #define        SPBS_JUSTRIGHT    0x00000004L
        !           441: #define        SPBS_JUSTCENTER   0x0000000CL
        !           442: 
        !           443: /**********************************************************************/
        !           444: /* Border or not                                                     */
        !           445: /**********************************************************************/
        !           446: #define        SPBS_NOBORDER     0x00000020L /* Borderless SpinField         */
        !           447:                                      /* Default is to have a border. */
        !           448: 
        !           449: /**********************************************************************/
        !           450: /* Fast spin or not                                                  */
        !           451: /**********************************************************************/
        !           452: #define        SPBS_FASTSPIN     0x00000100L /* Allow fast spinning.  Fast   */
        !           453:                                      /* spinning is performed by     */
        !           454:                                      /* skipping over numbers        */
        !           455: 
        !           456: /**********************************************************************/
        !           457: /* Pad numbers on front with 0's                                 */
        !           458: /**********************************************************************/
        !           459: #define        SPBS_PADWITHZEROS 0x00000080L /* Pad the number with zeroes   */
        !           460: 
        !           461: /**********************************************************************/
        !           462: /* SPINBUTTON Messages                                               */
        !           463: /**********************************************************************/
        !           464: 
        !           465: /**********************************************************************/
        !           466: /* Notification from Spinbutton to the application is sent in a              */
        !           467: /* WM_CONTROL message.                                               */
        !           468: /**********************************************************************/
        !           469: #define        SPBN_UPARROW       0x20A      /* up arrow button was pressed  */
        !           470: #define        SPBN_DOWNARROW     0x20B      /* down arrow button was pressed*/
        !           471: #define        SPBN_ENDSPIN       0x20C      /* mouse button was released    */
        !           472: #define        SPBN_CHANGE        0x20D      /* spinfield text has changed   */
        !           473: #define        SPBN_SETFOCUS      0x20E      /* spinfield received focus     */
        !           474: #define        SPBN_KILLFOCUS     0x20F      /* spinfield lost focus         */
        !           475: 
        !           476: /**********************************************************************/
        !           477: /* Messages from application to Spinbutton                           */
        !           478: /**********************************************************************/
        !           479: #define        SPBM_OVERRIDESETLIMITS 0x200  /* Set spinbutton limits without*/
        !           480:                                      /*  resetting the current value */
        !           481: #define        SPBM_QUERYLIMITS       0x201  /* Query limits set by          */
        !           482:                                      /*  SPBM_SETLIMITS              */
        !           483: #define        SPBM_SETTEXTLIMIT      0x202  /* Max entryfield characters    */
        !           484: #define        SPBM_SPINUP            0x203  /* Tell entry field to spin up  */
        !           485: #define        SPBM_SPINDOWN          0x204  /* Tell entry field to spin down*/
        !           486: #define        SPBM_QUERYVALUE        0x205  /* Tell entry field to send     */
        !           487:                                      /*  current value               */
        !           488: 
        !           489: /**********************************************************************/
        !           490: /* Query Flags                                                       */
        !           491: /**********************************************************************/
        !           492: #define        SPBQ_UPDATEIFVALID    0       /* Default                      */
        !           493: #define        SPBQ_ALWAYSUPDATE     1
        !           494: #define        SPBQ_DONOTUPDATE      3
        !           495: 
        !           496: /**********************************************************************/
        !           497: /* Return value for Empty Field.                                     */
        !           498: /*    If ptr too long, variable sent in query msg                    */
        !           499: /**********************************************************************/
        !           500: #define        SPBM_SETARRAY          0x206  /* Change the data to spin      */
        !           501: #define        SPBM_SETLIMITS         0x207  /* Change the numeric Limits    */
        !           502: #define        SPBM_SETCURRENTVALUE   0x208  /* Change the current value     */
        !           503: #define        SPBM_SETMASTER         0x209  /* Tell entryfield who master is*/
        !           504: 
        !           505: /**********************************************************************/
        !           506: /* SPINBUTTON Window Class Definition                                */
        !           507: /**********************************************************************/
        !           508: #define        WC_SPINBUTTON   ((PSZ)0xffff0020L)
        !           509: 
        !           510: /**********************************************************************/
        !           511: /* REGISTERSPINBUTTON Function Prototype                             */
        !           512: /**********************************************************************/
        !           513: VOID   APIENTRY        RegisterSpinButton ( VOID );
        !           514: 
        !           515: #endif /* INCL_WINSTDSPIN */
        !           516: 
        !           517: 
        !           518: #ifdef INCL_WINSTDDRAG
        !           519: /**********************************************************************/
        !           520: /*                                                                   */
        !           521: /*               D I R E C T   M A N I P U L A T I O N               */
        !           522: /*                                                                   */
        !           523: /**********************************************************************/
        !           524: 
        !           525: #define        PMERR_NOT_DRAGGING 0x1f00        /* move to pmerr.h           */
        !           526: 
        !           527: #define        MSGF_DRAG          0x0010        /* message filter identifier */
        !           528: 
        !           529: #define        WM_DRAGFIRST       0x0300
        !           530: #define        WM_DRAGLAST        (WM_DRAGFIRST + 0x000F)
        !           531: 
        !           532: #define        DM_DROP            (WM_DRAGLAST - 0)
        !           533: #define        DM_DRAGOVER        (WM_DRAGLAST - 1)
        !           534: #define        DM_DRAGLEAVE       (WM_DRAGLAST - 2)
        !           535: #define        DM_DROPHELP        (WM_DRAGLAST - 3)
        !           536: #define        DM_ENDCONVERSATION (WM_DRAGLAST - 4)
        !           537: #define        DM_PRINT           (WM_DRAGLAST - 5)
        !           538: #define        DM_RENDER          (WM_DRAGLAST - 6)
        !           539: #define        DM_RENDERCOMPLETE  (WM_DRAGLAST - 7)
        !           540: #define        DM_RENDERPREPARE   (WM_DRAGLAST - 8)
        !           541: 
        !           542: #define        DRT_ASM            "Assembler Code"   /* drag type constants  */
        !           543: #define        DRT_BASIC          "BASIC Code"
        !           544: #define        DRT_BINDATA        "Binary Data"
        !           545: #define        DRT_BITMAP         "Bitmap"
        !           546: #define        DRT_C              "C Code"
        !           547: #define        DRT_COBOL          "COBOL Code"
        !           548: #define        DRT_DLL            "Dynamic Link Library"
        !           549: #define        DRT_DOSCMD         "DOS Command File"
        !           550: #define        DRT_EXE            "Executable"
        !           551: #define        DRT_FORTRAN        "FORTRAN Code"
        !           552: #define        DRT_ICON           "Icon"
        !           553: #define        DRT_LIB            "Library"
        !           554: #define        DRT_METAFILE       "Metafile"
        !           555: #define        DRT_OS2CMD         "OS/2 Command File"
        !           556: #define        DRT_PASCAL         "Pascal Code"
        !           557: #define        DRT_RESOURCE       "Resource File"
        !           558: #define        DRT_TEXT           "Plain Text"
        !           559: #define        DRT_UNKNOWN        "Unknown"
        !           560: 
        !           561: #define        DOR_NODROP         0x0000       /* DM_DRAGOVER response codes */
        !           562: #define        DOR_DROP           0x0001
        !           563: #define        DOR_NODROPOP       0x0002
        !           564: #define        DOR_NEVERDROP      0x0003
        !           565: 
        !           566: #define        DO_COPYABLE        0x0001       /* supported operation flags  */
        !           567: #define        DO_MOVEABLE        0x0002
        !           568: 
        !           569: #define        DC_OPEN            0x0001       /* source control flags       */
        !           570: #define        DC_REF             0x0002
        !           571: #define        DC_GROUP           0x0004
        !           572: #define        DC_CONTAINER       0x0008
        !           573: #define        DC_PREPARE         0x0010
        !           574: #define        DC_REMOVEABLEMEDIA 0x0020
        !           575: 
        !           576: #define        DO_DEFAULT         0xBFFE       /* Default operation          */
        !           577: #define        DO_UNKNOWN         0xBFFF       /* Unknown operation          */
        !           578: #define        DO_COPY            KC_CTRL
        !           579: #define        DO_MOVE            KC_ALT
        !           580: 
        !           581: #define        DMFL_TARGETSUCCESSFUL 0x0001    /* transfer reply flags       */
        !           582: #define        DMFL_NATIVERENDER     0x0002
        !           583: #define        DMFL_RENDERRETRY      0x0004
        !           584: #define        DMFL_RENDEROK         0x0008
        !           585: #define        DMFL_RENDERFAIL       0x0010
        !           586: #define        DMFL_TARGETFAIL       0x0020
        !           587: 
        !           588: #define        DRG_IMAGEICON         0x00000001L  /* drag image manipulation */
        !           589: #define        DRG_IMAGETRANSPARENT  0x00000002L  /*  flags                  */
        !           590: #define        DRG_NOIMAGEAUGMENT    0x00000004L
        !           591: #define        DRG_IMAGEBITMAP       0x00000008L
        !           592: 
        !           593: 
        !           594: typedef LHANDLE HSTR;  /* hstr */
        !           595: 
        !           596: typedef struct _DRAGITEM {  /* ditem */
        !           597:   HWND   hwndItem;                  /* conversation partner          */
        !           598:   ULONG          ulItemID;                  /* identifies item being dragged */
        !           599:   HSTR   hstrType;                  /* type of item                  */
        !           600:   HSTR   hstrRendMechFmt;           /* rendering mechanism and format*/
        !           601:   HSTR   hstrContainerName;         /* name of source container      */
        !           602:   HSTR   hstrSourceName;            /* name of item at source        */
        !           603:   HSTR   hstrTargetName;            /* suggested name of item at dest*/
        !           604:   USHORT  fsControl;                /* source item control flags     */
        !           605:   USHORT  fsSupportedOps;           /* ops supported by source       */
        !           606: } DRAGITEM;
        !           607: typedef DRAGITEM FAR *PDRAGITEM;
        !           608: 
        !           609: typedef struct _DRAGINFO {  /* dinfo */
        !           610:   ULONG           cbDraginfo;               /* Size of DRAGINFO and DRAGITEMs*/
        !           611:   USHORT   cbDragitem;              /* size of DRAGITEM              */
        !           612:   USHORT   usOperation;                     /* current drag operation        */
        !           613:   HWND    hwndSource;               /* window handle of source       */
        !           614:   SHORT           xDrop;                    /* x coordinate of drop position */
        !           615:   SHORT           yDrop;                    /* y coordinate of drop position */
        !           616:   SHORT           cxHotspot;                /* x offset of mouse hotspot from*/
        !           617:                                     /*   origin of dragged image     */
        !           618:   SHORT           cyHotspot;                /* y offset of mouse hotspot from*/
        !           619:                                     /*   origin of dragged image     */
        !           620:   LHANDLE  hImage;                  /* image handle passed to DrgDrag*/
        !           621:   ULONG           fl;                       /* flags passed to DrgDrag       */
        !           622:   USHORT   cditem;                  /* count of DRAGITEMs            */
        !           623:   USHORT   usReserved;              /* reserved for future use       */
        !           624: } DRAGINFO;
        !           625: typedef DRAGINFO FAR *PDRAGINFO;
        !           626: 
        !           627: typedef struct _DRAGTRANSFER { /* dxfer */
        !           628:   ULONG             cb;                     /* size of control block         */
        !           629:   HWND      hwndClient;             /* handle of target              */
        !           630:   PDRAGITEM  pditem;                /* DRAGITEM being transferred    */
        !           631:   HSTR      hstrSelectedRMF;        /* rendering mech & fmt of choice*/
        !           632:   HSTR      hstrRenderToName;       /* name source will use          */
        !           633:   ULONG             ulTargetInfo;           /* reserved for target's use     */
        !           634:   USHORT     usOperation;           /* operation being performed     */
        !           635:   USHORT     fsReply;               /* reply flags                   */
        !           636: } DRAGTRANSFER;
        !           637: typedef DRAGTRANSFER FAR *PDRAGTRANSFER;
        !           638: 
        !           639: #ifdef INCL_16
        !           640: #define         DrgAccessDraginfo                 Drg16AccessDraginfo
        !           641: #define         DrgAddStrHandle                   Drg16AddStrHandle
        !           642: #define         DrgAllocDraginfo                  Drg16AllocDraginfo
        !           643: #define         DrgAllocDragtransfer              Drg16AllocDragtransfer
        !           644: #define         DrgDeleteDraginfoStrHandles       Drg16DeleteDraginfoStrHandles
        !           645: #define         DrgDeleteStrHandle                Drg16DeleteStrHandle
        !           646: #define         DrgDrag                           Drg16Drag
        !           647: #define         DrgFreeDraginfo                   Drg16FreeDraginfo
        !           648: #define         DrgFreeDragtransfer               Drg16FreeDragtransfer
        !           649: #define         DrgGetPS                          Drg16GetPS
        !           650: #define         DrgPostTransferMsg                Drg16PostTransferMsg
        !           651: #define         DrgPushDraginfo                   Drg16PushDraginfo
        !           652: #define         DrgQueryDragitem                  Drg16QueryDragitem
        !           653: #define         DrgQueryDragitemCount             Drg16QueryDragitemCount
        !           654: #define         DrgQueryDragitemPtr               Drg16QueryDragitemPtr
        !           655: #define         DrgQueryNativeRendMechFmt         Drg16QueryNativeRendMechFmt
        !           656: #define         DrgQueryNativeRendMechFmtLen      Drg16QueryNativeRendMechFmtLen
        !           657: #define         DrgQueryStrName                   Drg16QueryStrName
        !           658: #define         DrgQueryStrNameLen                Drg16QueryStrNameLen
        !           659: #define         DrgQueryTrueType                  Drg16QueryTrueType
        !           660: #define         DrgQueryTrueTypeLen               Drg16QueryTrueTypeLen
        !           661: #define         DrgReleasePS                      Drg16ReleasePS
        !           662: #define         DrgSendTransferMsg                Drg16SendTransferMsg
        !           663: #define         DrgSetDragPointer                 Drg16SetDragPointer
        !           664: #define         DrgSetDragImage                   Drg16SetDragImage
        !           665: #define         DrgSetDragitem                    Drg16SetDragitem
        !           666: #define         DrgVerifyNativeRendMechFmt        Drg16VerifyNativeRendMechFmt
        !           667: #define         DrgVerifyRendMechFmt              Drg16VerifyRendMechFmt
        !           668: #define         DrgVerifyTrueType                 Drg16VerifyTrueType
        !           669: #define         DrgVerifyType                     Drg16VerifyType
        !           670: #define         DrgVerifyTypeSet                  Drg16VerifyTypeSet
        !           671: #endif
        !           672: 
        !           673: BOOL EXPENTRY DrgAccessDraginfo (PDRAGINFO pdinfo);
        !           674: HSTR EXPENTRY DrgAddStrHandle (PSZ psz);
        !           675: PDRAGINFO EXPENTRY DrgAllocDraginfo (USHORT cditem);
        !           676: PDRAGTRANSFER EXPENTRY DrgAllocDragtransfer (USHORT cdxfer);
        !           677: BOOL EXPENTRY DrgDeleteDraginfoStrHandles (PDRAGINFO pdinfo);
        !           678: BOOL EXPENTRY DrgDeleteStrHandle (HSTR hstr);
        !           679: HWND EXPENTRY DrgDrag (HWND hwndSource, PDRAGINFO pdinfo, LHANDLE hImage,
        !           680:                       SHORT cx, SHORT cy,
        !           681:                       SHORT vkTerminate, ULONG fl, PVOID pRsvd);
        !           682: BOOL EXPENTRY DrgFreeDraginfo (PDRAGINFO pdinfo);
        !           683: BOOL EXPENTRY DrgFreeDragtransfer (PDRAGTRANSFER pdxfer);
        !           684: HPS EXPENTRY DrgGetPS (HWND hwnd);
        !           685: BOOL EXPENTRY DrgPostTransferMsg (HWND hwnd, USHORT msg, PDRAGTRANSFER pdxfer,
        !           686:                                  USHORT fs, USHORT usRsvd, BOOL fRetry);
        !           687: BOOL EXPENTRY DrgPushDraginfo (PDRAGINFO pdinfo, HWND hwndDest);
        !           688: BOOL EXPENTRY DrgQueryDragitem (PDRAGINFO pdinfo, USHORT cbBuffer,
        !           689:                                PDRAGITEM pditem, USHORT iItem);
        !           690: USHORT EXPENTRY DrgQueryDragitemCount (PDRAGINFO pdinfo);
        !           691: PDRAGITEM EXPENTRY DrgQueryDragitemPtr (PDRAGINFO pdinfo, USHORT i);
        !           692: BOOL EXPENTRY DrgQueryNativeRendMechFmt (PDRAGITEM pditem,
        !           693:                      USHORT cbBuffer, PCHAR pBuffer);
        !           694: USHORT EXPENTRY DrgQueryNativeRendMechFmtLen (PDRAGITEM pditem);
        !           695: USHORT EXPENTRY DrgQueryStrName (HSTR hstr, USHORT cbBuffer, PSZ pBuffer);
        !           696: USHORT EXPENTRY DrgQueryStrNameLen (HSTR hstr);
        !           697: BOOL EXPENTRY DrgQueryTrueType (PDRAGITEM pditem, USHORT cbBuffer, PSZ pBuffer);
        !           698: USHORT EXPENTRY DrgQueryTrueTypeLen (PDRAGITEM pditem);
        !           699: BOOL EXPENTRY DrgReleasePS (HPS hps);
        !           700: MRESULT EXPENTRY DrgSendTransferMsg (HWND hwnd, USHORT msg,
        !           701:                                     MPARAM mp1, MPARAM mp2);
        !           702: BOOL EXPENTRY DrgSetDragitem (PDRAGINFO pdinfo, PDRAGITEM pditem,
        !           703:                              USHORT cbBuffer, USHORT iItem);
        !           704: BOOL EXPENTRY DrgSetDragPointer (PDRAGINFO pdinfo, HPOINTER hptr);
        !           705: BOOL EXPENTRY DrgSetDragImage (PDRAGINFO pdinfo, LHANDLE hCustom,
        !           706:                               SHORT cx, SHORT cy, ULONG fl, PVOID pRsvd);
        !           707: BOOL EXPENTRY DrgVerifyNativeRendMechFmt (PDRAGITEM pditem, PSZ pszRMF);
        !           708: BOOL EXPENTRY DrgVerifyRendMechFmt (PDRAGITEM pditem, PSZ pszMech, PSZ pszFmt);
        !           709: BOOL EXPENTRY DrgVerifyTrueType (PDRAGITEM pditem, PSZ pszType);
        !           710: BOOL EXPENTRY DrgVerifyType (PDRAGITEM pditem, PSZ pszType);
        !           711: BOOL EXPENTRY DrgVerifyTypeSet (PDRAGITEM pditem, PSZ pszType, USHORT cbMatch,
        !           712:                                PSZ pszMatch);
        !           713: 
        !           714: #endif /* INCL_WINSTDDRAG */
        !           715: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.