Annotation of os232sdk/toolkt20/c/os2h/pmstddlg.h, revision 1.1.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.