|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.