mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 10:39:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1229 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			1229 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
unit pmstddlg;
 | 
						|
 | 
						|
  interface
 | 
						|
  
 | 
						|
    uses
 | 
						|
       os2def,bsedos,pmwin,pmgpi;
 | 
						|
 | 
						|
    const
 | 
						|
       FDS_CENTER = $00000001;
 | 
						|
       FDS_CUSTOM = $00000002;
 | 
						|
       FDS_FILTERUNION = $00000004;
 | 
						|
       FDS_HELPBUTTON = $00000008;
 | 
						|
       FDS_APPLYBUTTON = $00000010;
 | 
						|
       FDS_PRELOAD_VOLINFO = $00000020;
 | 
						|
       FDS_MODELESS = $00000040;
 | 
						|
       FDS_INCLUDE_EAS = $00000080;
 | 
						|
       FDS_OPEN_DIALOG = $00000100;
 | 
						|
       FDS_SAVEAS_DIALOG = $00000200;
 | 
						|
       FDS_MULTIPLESEL = $00000400;
 | 
						|
       FDS_ENABLEFILELB = $00000800;
 | 
						|
       FDS_EFSELECTION = 0;
 | 
						|
       FDS_LBSELECTION = 1;
 | 
						|
       FDS_SUCCESSFUL = 0;
 | 
						|
       FDS_ERR_DEALLOCATE_MEMORY = 1;
 | 
						|
       FDS_ERR_FILTER_TRUNC = 2;
 | 
						|
       FDS_ERR_INVALID_DIALOG = 3;
 | 
						|
       FDS_ERR_INVALID_DRIVE = 4;
 | 
						|
       FDS_ERR_INVALID_FILTER = 5;
 | 
						|
       FDS_ERR_INVALID_PATHFILE = 6;
 | 
						|
       FDS_ERR_OUT_OF_MEMORY = 7;
 | 
						|
       FDS_ERR_PATH_TOO_LONG = 8;
 | 
						|
       FDS_ERR_TOO_MANY_FILE_TYPES = 9;
 | 
						|
       FDS_ERR_INVALID_VERSION = 10;
 | 
						|
       FDS_ERR_INVALID_CUSTOM_HANDLE = 11;
 | 
						|
       FDS_ERR_DIALOG_LOAD_ERROR = 12;
 | 
						|
       FDS_ERR_DRIVE_ERROR = 13;
 | 
						|
       FDM_FILTER = WM_USER+40;
 | 
						|
       FDM_VALIDATE = WM_USER+41;
 | 
						|
       FDM_ERROR = WM_USER+42;
 | 
						|
 | 
						|
    type
 | 
						|
       APSZ = array[0..0] of PSZ;
 | 
						|
 | 
						|
       PAPSZ = ^APSZ;
 | 
						|
 | 
						|
       FILEDLG = record
 | 
						|
          cbSize : ULONG;
 | 
						|
          fl : ULONG;
 | 
						|
          ulUser : ULONG;
 | 
						|
          lReturn : LONG;
 | 
						|
          lSRC : LONG;
 | 
						|
          pszTitle : PSZ;
 | 
						|
          pszOKButton : PSZ;
 | 
						|
          pfnDlgProc : PFNWP;
 | 
						|
          pszIType : PSZ;
 | 
						|
          papszITypeList : PAPSZ;
 | 
						|
          pszIDrive : PSZ;
 | 
						|
          papszIDriveList : PAPSZ;
 | 
						|
          hMod : HMODULE;
 | 
						|
          szFullFile : array[0..CCHMAXPATH-1] of CHAR;
 | 
						|
          papszFQFilename : PAPSZ;
 | 
						|
          ulFQFCount : ULONG;
 | 
						|
          usDlgId : USHORT;
 | 
						|
          x : SHORT;
 | 
						|
          y : SHORT;
 | 
						|
          sEAType : SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PFILEDLG = ^FILEDLG;
 | 
						|
 | 
						|
 | 
						|
    function WinFileDlg(hwndP : HWND;hwndO : HWND;pfild : PFILEDLG) : HWND;
 | 
						|
 | 
						|
    function WinDefFileDlgProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
 | 
						|
 | 
						|
    function WinFreeFileDlgList(papszFQFilename : PAPSZ) : BOOL;
 | 
						|
 | 
						|
    const
 | 
						|
       DID_FILE_DIALOG = 256;
 | 
						|
       DID_FILENAME_TXT = 257;
 | 
						|
       DID_FILENAME_ED = 258;
 | 
						|
       DID_DRIVE_TXT = 259;
 | 
						|
       DID_DRIVE_CB = 260;
 | 
						|
       DID_FILTER_TXT = 261;
 | 
						|
       DID_FILTER_CB = 262;
 | 
						|
       DID_DIRECTORY_TXT = 263;
 | 
						|
       DID_DIRECTORY_LB = 264;
 | 
						|
       DID_FILES_TXT = 265;
 | 
						|
       DID_FILES_LB = 266;
 | 
						|
       DID_HELP_PB = 267;
 | 
						|
       DID_APPLY_PB = 268;
 | 
						|
       DID_OK_PB = DID_OK;
 | 
						|
       DID_CANCEL_PB = DID_CANCEL;
 | 
						|
       IDS_FILE_ALL_FILES_SELECTOR = 1000;
 | 
						|
       IDS_FILE_BACK_CUR_PATH = 1001;
 | 
						|
       IDS_FILE_BACK_PREV_PATH = 1002;
 | 
						|
       IDS_FILE_BACK_SLASH = 1003;
 | 
						|
       IDS_FILE_BASE_FILTER = 1004;
 | 
						|
       IDS_FILE_BLANK = 1005;
 | 
						|
       IDS_FILE_COLON = 1006;
 | 
						|
       IDS_FILE_DOT = 1007;
 | 
						|
       IDS_FILE_DRIVE_LETTERS = 1008;
 | 
						|
       IDS_FILE_FWD_CUR_PATH = 1009;
 | 
						|
       IDS_FILE_FWD_PREV_PATH = 1010;
 | 
						|
       IDS_FILE_FORWARD_SLASH = 1011;
 | 
						|
       IDS_FILE_PARENT_DIR = 1012;
 | 
						|
       IDS_FILE_Q_MARK = 1013;
 | 
						|
       IDS_FILE_SPLAT = 1014;
 | 
						|
       IDS_FILE_SPLAT_DOT = 1015;
 | 
						|
       IDS_FILE_SAVEAS_TITLE = 1016;
 | 
						|
       IDS_FILE_SAVEAS_FILTER_TXT = 1017;
 | 
						|
       IDS_FILE_SAVEAS_FILENM_TXT = 1018;
 | 
						|
       IDS_FILE_DUMMY_FILE_NAME = 1019;
 | 
						|
       IDS_FILE_DUMMY_FILE_EXT = 1020;
 | 
						|
       IDS_FILE_DUMMY_DRIVE = 1021;
 | 
						|
       IDS_FILE_DUMMY_ROOT_DIR = 1022;
 | 
						|
       IDS_FILE_PATH_PTR = 1023;
 | 
						|
       IDS_FILE_VOLUME_PREFIX = 1024;
 | 
						|
       IDS_FILE_VOLUME_SUFFIX = 1025;
 | 
						|
       IDS_FILE_PATH_PTR2 = 1026;
 | 
						|
       IDS_FILE_INVALID_CHARS = 1027;
 | 
						|
       IDS_FILE_BAD_DRIVE_NAME = 1100;
 | 
						|
       IDS_FILE_BAD_DRIVE_OR_PATH_NAME = 1101;
 | 
						|
       IDS_FILE_BAD_FILE_NAME = 1102;
 | 
						|
       IDS_FILE_BAD_FQF = 1103;
 | 
						|
       IDS_FILE_BAD_NETWORK_NAME = 1104;
 | 
						|
       IDS_FILE_BAD_SUB_DIR_NAME = 1105;
 | 
						|
       IDS_FILE_DRIVE_NOT_AVAILABLE = 1106;
 | 
						|
       IDS_FILE_FQFNAME_TOO_LONG = 1107;
 | 
						|
       IDS_FILE_OPEN_DIALOG_NOTE = 1108;
 | 
						|
       IDS_FILE_PATH_TOO_LONG = 1109;
 | 
						|
       IDS_FILE_SAVEAS_DIALOG_NOTE = 1110;
 | 
						|
       IDS_FILE_DRIVE_DISK_CHANGE = 1120;
 | 
						|
       IDS_FILE_DRIVE_NOT_READY = 1122;
 | 
						|
       IDS_FILE_DRIVE_LOCKED = 1123;
 | 
						|
       IDS_FILE_DRIVE_NO_SECTOR = 1124;
 | 
						|
       IDS_FILE_DRIVE_SOME_ERROR = 1125;
 | 
						|
       IDS_FILE_DRIVE_INVALID = 1126;
 | 
						|
       IDS_FILE_INSERT_DISK_NOTE = 1127;
 | 
						|
       IDS_FILE_OK_WHEN_READY = 1128;
 | 
						|
 | 
						|
    type
 | 
						|
       FONTDLG = record
 | 
						|
          cbSize : ULONG;
 | 
						|
          hpsScreen : HPS;
 | 
						|
          hpsPrinter : HPS;
 | 
						|
          pszTitle : PSZ;
 | 
						|
          pszPreview : PSZ;
 | 
						|
          pszPtSizeList : PSZ;
 | 
						|
          pfnDlgProc : PFNWP;
 | 
						|
          pszFamilyname : PSZ;
 | 
						|
          fxPointSize : FIXED;
 | 
						|
          fl : ULONG;
 | 
						|
          flFlags : ULONG;
 | 
						|
          flType : ULONG;
 | 
						|
          flTypeMask : ULONG;
 | 
						|
          flStyle : ULONG;
 | 
						|
          flStyleMask : ULONG;
 | 
						|
          clrFore : LONG;
 | 
						|
          clrBack : LONG;
 | 
						|
          ulUser : ULONG;
 | 
						|
          lReturn : LONG;
 | 
						|
          lSRC : LONG;
 | 
						|
          lEmHeight : LONG;
 | 
						|
          lXHeight : LONG;
 | 
						|
          lExternalLeading : LONG;
 | 
						|
          hMod : HMODULE;
 | 
						|
          fAttrs : FATTRS;
 | 
						|
          sNominalPointSize : SHORT;
 | 
						|
          usWeight : USHORT;
 | 
						|
          usWidth : USHORT;
 | 
						|
          x : SHORT;
 | 
						|
          y : SHORT;
 | 
						|
          usDlgId : USHORT;
 | 
						|
          usFamilyBufLen : USHORT;
 | 
						|
          usReserved : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PFONTDLG = ^FONTDLG;
 | 
						|
 | 
						|
    const
 | 
						|
       FNTS_CENTER = $00000001;
 | 
						|
       FNTS_CUSTOM = $00000002;
 | 
						|
       FNTS_OWNERDRAWPREVIEW = $00000004;
 | 
						|
       FNTS_HELPBUTTON = $00000008;
 | 
						|
       FNTS_APPLYBUTTON = $00000010;
 | 
						|
       FNTS_RESETBUTTON = $00000020;
 | 
						|
       FNTS_MODELESS = $00000040;
 | 
						|
       FNTS_INITFROMFATTRS = $00000080;
 | 
						|
       FNTS_BITMAPONLY = $00000100;
 | 
						|
       FNTS_VECTORONLY = $00000200;
 | 
						|
       FNTS_FIXEDWIDTHONLY = $00000400;
 | 
						|
       FNTS_PROPORTIONALONLY = $00000800;
 | 
						|
       FNTS_NOSYNTHESIZEDFONTS = $00001000;
 | 
						|
       FNTF_NOVIEWSCREENFONTS = 1;
 | 
						|
       FNTF_NOVIEWPRINTERFONTS = 2;
 | 
						|
       FNTF_SCREENFONTSELECTED = 4;
 | 
						|
       FNTF_PRINTERFONTSELECTED = 8;
 | 
						|
       CLRC_FOREGROUND = 1;
 | 
						|
       CLRC_BACKGROUND = 2;
 | 
						|
       FNTI_BITMAPFONT = $0001;
 | 
						|
       FNTI_VECTORFONT = $0002;
 | 
						|
       FNTI_FIXEDWIDTHFONT = $0004;
 | 
						|
       FNTI_PROPORTIONALFONT = $0008;
 | 
						|
       FNTI_SYNTHESIZED = $0010;
 | 
						|
       FNTI_DEFAULTLIST = $0020;
 | 
						|
       FNTI_FAMILYNAME = $0100;
 | 
						|
       FNTI_STYLENAME = $0200;
 | 
						|
       FNTI_POINTSIZE = $0400;
 | 
						|
       FNTS_SUCCESSFUL = 0;
 | 
						|
       FNTS_ERR_INVALID_DIALOG = 3;
 | 
						|
       FNTS_ERR_ALLOC_SHARED_MEM = 4;
 | 
						|
       FNTS_ERR_INVALID_PARM = 5;
 | 
						|
       FNTS_ERR_OUT_OF_MEMORY = 7;
 | 
						|
       FNTS_ERR_INVALID_VERSION = 10;
 | 
						|
       FNTS_ERR_DIALOG_LOAD_ERROR = 12;
 | 
						|
       FNTM_FACENAMECHANGED = WM_USER+50;
 | 
						|
       FNTM_POINTSIZECHANGED = WM_USER+51;
 | 
						|
       FNTM_STYLECHANGED = WM_USER+52;
 | 
						|
       FNTM_COLORCHANGED = WM_USER+53;
 | 
						|
       FNTM_UPDATEPREVIEW = WM_USER+54;
 | 
						|
       FNTM_FILTERLIST = WM_USER+55;
 | 
						|
 | 
						|
    type
 | 
						|
       STYLECHANGE = record
 | 
						|
          usWeight : USHORT;
 | 
						|
          usWeightOld : USHORT;
 | 
						|
          usWidth : USHORT;
 | 
						|
          usWidthOld : USHORT;
 | 
						|
          flType : ULONG;
 | 
						|
          flTypeOld : ULONG;
 | 
						|
          flTypeMask : ULONG;
 | 
						|
          flTypeMaskOld : ULONG;
 | 
						|
          flStyle : ULONG;
 | 
						|
          flStyleOld : ULONG;
 | 
						|
          flStyleMask : ULONG;
 | 
						|
          flStyleMaskOld : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PSTYLECHANGE = ^STYLECHANGE;
 | 
						|
 | 
						|
 | 
						|
    function WinFontDlg(hwndP : HWND;hwndO : HWND;pfntd : PFONTDLG) : HWND;
 | 
						|
 | 
						|
    function WinDefFontDlgProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
 | 
						|
 | 
						|
    const
 | 
						|
       DID_FONT_DIALOG = 300;
 | 
						|
       DID_NAME = 301;
 | 
						|
       DID_STYLE = 302;
 | 
						|
       DID_DISPLAY_FILTER = 303;
 | 
						|
       DID_PRINTER_FILTER = 304;
 | 
						|
       DID_SIZE = 305;
 | 
						|
       DID_SAMPLE = 306;
 | 
						|
       DID_OUTLINE = 307;
 | 
						|
       DID_UNDERSCORE = 308;
 | 
						|
       DID_STRIKEOUT = 309;
 | 
						|
       DID_HELP_BUTTON = 310;
 | 
						|
       DID_APPLY_BUTTON = 311;
 | 
						|
       DID_RESET_BUTTON = 312;
 | 
						|
       DID_OK_BUTTON = DID_OK;
 | 
						|
       DID_CANCEL_BUTTON = DID_CANCEL;
 | 
						|
       DID_NAME_PREFIX = 313;
 | 
						|
       DID_STYLE_PREFIX = 314;
 | 
						|
       DID_SIZE_PREFIX = 315;
 | 
						|
       DID_SAMPLE_GROUPBOX = 316;
 | 
						|
       DID_EMPHASIS_GROUPBOX = 317;
 | 
						|
       IDS_FONT_SAMPLE = 350;
 | 
						|
       IDS_FONT_BLANK = 351;
 | 
						|
       IDS_FONT_KEY_0 = 352;
 | 
						|
       IDS_FONT_KEY_9 = 353;
 | 
						|
       IDS_FONT_KEY_SEP = 354;
 | 
						|
       IDS_FONT_DISP_ONLY = 355;
 | 
						|
       IDS_FONT_PRINTER_ONLY = 356;
 | 
						|
       IDS_FONT_COMBINED = 357;
 | 
						|
       IDS_FONT_WEIGHT1 = 358;
 | 
						|
       IDS_FONT_WEIGHT2 = 359;
 | 
						|
       IDS_FONT_WEIGHT3 = 360;
 | 
						|
       IDS_FONT_WEIGHT4 = 361;
 | 
						|
       IDS_FONT_WEIGHT5 = 362;
 | 
						|
       IDS_FONT_WEIGHT6 = 363;
 | 
						|
       IDS_FONT_WEIGHT7 = 364;
 | 
						|
       IDS_FONT_WEIGHT8 = 365;
 | 
						|
       IDS_FONT_WEIGHT9 = 366;
 | 
						|
       IDS_FONT_WIDTH1 = 367;
 | 
						|
       IDS_FONT_WIDTH2 = 368;
 | 
						|
       IDS_FONT_WIDTH3 = 369;
 | 
						|
       IDS_FONT_WIDTH4 = 370;
 | 
						|
       IDS_FONT_WIDTH5 = 371;
 | 
						|
       IDS_FONT_WIDTH6 = 372;
 | 
						|
       IDS_FONT_WIDTH7 = 373;
 | 
						|
       IDS_FONT_WIDTH8 = 374;
 | 
						|
       IDS_FONT_WIDTH9 = 375;
 | 
						|
       IDS_FONT_OPTION0 = 376;
 | 
						|
       IDS_FONT_OPTION1 = 377;
 | 
						|
       IDS_FONT_OPTION2 = 378;
 | 
						|
       IDS_FONT_OPTION3 = 379;
 | 
						|
       IDS_FONT_POINT_SIZE_LIST = 380;
 | 
						|
       SPBS_ALLCHARACTERS = $00000000;
 | 
						|
       SPBS_NUMERICONLY = $00000001;
 | 
						|
       SPBS_READONLY = $00000002;
 | 
						|
       SPBS_MASTER = $00000010;
 | 
						|
       SPBS_SERVANT = $00000000;
 | 
						|
       SPBS_JUSTDEFAULT = $00000000;
 | 
						|
       SPBS_JUSTLEFT = $00000008;
 | 
						|
       SPBS_JUSTRIGHT = $00000004;
 | 
						|
       SPBS_JUSTCENTER = $0000000C;
 | 
						|
       SPBS_NOBORDER = $00000020;
 | 
						|
       SPBS_FASTSPIN = $00000100;
 | 
						|
       SPBS_PADWITHZEROS = $00000080;
 | 
						|
       SPBN_UPARROW = $20A;
 | 
						|
       SPBN_DOWNARROW = $20B;
 | 
						|
       SPBN_ENDSPIN = $20C;
 | 
						|
       SPBN_CHANGE = $20D;
 | 
						|
       SPBN_SETFOCUS = $20E;
 | 
						|
       SPBN_KILLFOCUS = $20F;
 | 
						|
       SPBM_OVERRIDESETLIMITS = $200;
 | 
						|
       SPBM_QUERYLIMITS = $201;
 | 
						|
       SPBM_SETTEXTLIMIT = $202;
 | 
						|
       SPBM_SPINUP = $203;
 | 
						|
       SPBM_SPINDOWN = $204;
 | 
						|
       SPBM_QUERYVALUE = $205;
 | 
						|
       SPBQ_UPDATEIFVALID = 0;
 | 
						|
       SPBQ_ALWAYSUPDATE = 1;
 | 
						|
       SPBQ_DONOTUPDATE = 3;
 | 
						|
       SPBM_SETARRAY = $206;
 | 
						|
       SPBM_SETLIMITS = $207;
 | 
						|
       SPBM_SETCURRENTVALUE = $208;
 | 
						|
       SPBM_SETMASTER = $209;
 | 
						|
       PMERR_NOT_DRAGGING = $1f00;
 | 
						|
       PMERR_ALREADY_DRAGGING = $1f01;
 | 
						|
       MSGF_DRAG = $0010;
 | 
						|
       WM_DRAGFIRST = $0310;
 | 
						|
       WM_DRAGLAST = $032f;
 | 
						|
       DM_DROP = $032f;
 | 
						|
       DM_DRAGOVER = $032e;
 | 
						|
       DM_DRAGLEAVE = $032d;
 | 
						|
       DM_DROPHELP = $032c;
 | 
						|
       DM_ENDCONVERSATION = $032b;
 | 
						|
       DM_PRINT = $032a;
 | 
						|
       DM_RENDER = $0329;
 | 
						|
       DM_RENDERCOMPLETE = $0328;
 | 
						|
       DM_RENDERPREPARE = $0327;
 | 
						|
       DM_DRAGFILECOMPLETE = $0326;
 | 
						|
       DM_EMPHASIZETARGET = $0325;
 | 
						|
       DM_DRAGERROR = $0324;
 | 
						|
       DM_FILERENDERED = $0323;
 | 
						|
       DM_RENDERFILE = $0322;
 | 
						|
       DM_DRAGOVERNOTIFY = $0321;
 | 
						|
       DM_PRINTOBJECT = $0320;
 | 
						|
       DM_DISCARDOBJECT = $031f;
 | 
						|
       DRT_ASM = 'Assembler Code';
 | 
						|
       DRT_BASIC = 'BASIC Code';
 | 
						|
       DRT_BINDATA = 'Binary Data';
 | 
						|
       DRT_BITMAP = 'Bitmap';
 | 
						|
       DRT_C = 'C Code';
 | 
						|
       DRT_COBOL = 'COBOL Code';
 | 
						|
       DRT_DLL = 'Dynamic Link Library';
 | 
						|
       DRT_DOSCMD = 'DOS Command File';
 | 
						|
       DRT_EXE = 'Executable';
 | 
						|
       DRT_FORTRAN = 'FORTRAN Code';
 | 
						|
       DRT_ICON = 'Icon';
 | 
						|
       DRT_LIB = 'Library';
 | 
						|
       DRT_METAFILE = 'Metafile';
 | 
						|
       DRT_OS2CMD = 'OS/2 Command File';
 | 
						|
       DRT_PASCAL = 'Pascal Code';
 | 
						|
       DRT_RESOURCE = 'Resource File';
 | 
						|
       DRT_TEXT = 'Plain Text';
 | 
						|
       DRT_UNKNOWN = 'Unknown';
 | 
						|
       DOR_NODROP = $0000;
 | 
						|
       DOR_DROP = $0001;
 | 
						|
       DOR_NODROPOP = $0002;
 | 
						|
       DOR_NEVERDROP = $0003;
 | 
						|
       DO_COPYABLE = $0001;
 | 
						|
       DO_MOVEABLE = $0002;
 | 
						|
       DO_LINKABLE = $0004;
 | 
						|
       DC_OPEN = $0001;
 | 
						|
       DC_REF = $0002;
 | 
						|
       DC_GROUP = $0004;
 | 
						|
       DC_CONTAINER = $0008;
 | 
						|
       DC_PREPARE = $0010;
 | 
						|
       DC_REMOVEABLEMEDIA = $0020;
 | 
						|
       DO_DEFAULT = $BFFE;
 | 
						|
       DO_UNKNOWN = $BFFF;
 | 
						|
       DO_COPY = $0010;
 | 
						|
       DO_MOVE = $0020;
 | 
						|
       DO_LINK = $0018;
 | 
						|
       DO_CREATE = $0040;
 | 
						|
       DMFL_TARGETSUCCESSFUL = $0001;
 | 
						|
       DMFL_TARGETFAIL = $0002;
 | 
						|
       DMFL_NATIVERENDER = $0004;
 | 
						|
       DMFL_RENDERRETRY = $0008;
 | 
						|
       DMFL_RENDEROK = $0010;
 | 
						|
       DMFL_RENDERFAIL = $0020;
 | 
						|
       DRG_ICON = $00000001;
 | 
						|
       DRG_BITMAP = $00000002;
 | 
						|
       DRG_POLYGON = $00000004;
 | 
						|
       DRG_STRETCH = $00000008;
 | 
						|
       DRG_TRANSPARENT = $00000010;
 | 
						|
       DRG_CLOSED = $00000020;
 | 
						|
       DME_IGNOREABORT = 1;
 | 
						|
       DME_IGNORECONTINUE = 2;
 | 
						|
       DME_REPLACE = 3;
 | 
						|
       DME_RETRY = 4;
 | 
						|
       DF_MOVE = $0001;
 | 
						|
       DF_SOURCE = $0002;
 | 
						|
       DF_SUCCESSFUL = $0004;
 | 
						|
       DRR_SOURCE = 1;
 | 
						|
       DRR_TARGET = 2;
 | 
						|
       DRR_ABORT = 3;
 | 
						|
       DFF_MOVE = 1;
 | 
						|
       DFF_COPY = 2;
 | 
						|
       DFF_DELETE = 3;
 | 
						|
 | 
						|
    type
 | 
						|
       HSTR = LHANDLE;
 | 
						|
 | 
						|
       DRAGITEM = record
 | 
						|
          hwndItem : HWND;
 | 
						|
          ulItemID : ULONG;
 | 
						|
          hstrType : HSTR;
 | 
						|
          hstrRMF : HSTR;
 | 
						|
          hstrContainerName : HSTR;
 | 
						|
          hstrSourceName : HSTR;
 | 
						|
          hstrTargetName : HSTR;
 | 
						|
          cxOffset : SHORT;
 | 
						|
          cyOffset : SHORT;
 | 
						|
          fsControl : USHORT;
 | 
						|
          fsSupportedOps : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PDRAGITEM = ^DRAGITEM;
 | 
						|
 | 
						|
       DRAGINFO = record
 | 
						|
          cbDraginfo : ULONG;
 | 
						|
          cbDragitem : USHORT;
 | 
						|
          usOperation : USHORT;
 | 
						|
          hwndSource : HWND;
 | 
						|
          xDrop : SHORT;
 | 
						|
          yDrop : SHORT;
 | 
						|
          cditem : USHORT;
 | 
						|
          usReserved : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PDRAGINFO = ^DRAGINFO;
 | 
						|
 | 
						|
       DRAGIMAGE = record
 | 
						|
          cb : USHORT;
 | 
						|
          cptl : USHORT;
 | 
						|
          hImage : LHANDLE;
 | 
						|
          sizlStretch : SIZEL;
 | 
						|
          fl : ULONG;
 | 
						|
          cxOffset : SHORT;
 | 
						|
          cyOffset : SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PDRAGIMAGE = ^DRAGIMAGE;
 | 
						|
 | 
						|
       DRAGTRANSFER = record
 | 
						|
          cb : ULONG;
 | 
						|
          hwndClient : HWND;
 | 
						|
          pditem : PDRAGITEM;
 | 
						|
          hstrSelectedRMF : HSTR;
 | 
						|
          hstrRenderToName : HSTR;
 | 
						|
          ulTargetInfo : ULONG;
 | 
						|
          usOperation : USHORT;
 | 
						|
          fsReply : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PDRAGTRANSFER = ^DRAGTRANSFER;
 | 
						|
 | 
						|
       RENDERFILE = record
 | 
						|
          hwndDragFiles : HWND;
 | 
						|
          hstrSource : HSTR;
 | 
						|
          hstrTarget : HSTR;
 | 
						|
          fMove : USHORT;
 | 
						|
          usRsvd : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PRENDERFILE = ^RENDERFILE;
 | 
						|
 | 
						|
 | 
						|
    function DrgAcceptDroppedFiles(hwnd : HWND;pszPath : PSZ;pszTypes : PSZ;ulDefaultOp : ULONG;ulRsvd : ULONG) : BOOL;
 | 
						|
 | 
						|
    function DrgAllocDraginfo(cditem : ULONG) : PDRAGINFO;
 | 
						|
 | 
						|
    function DrgAllocDragtransfer(cdxfer : ULONG) : PDRAGTRANSFER;
 | 
						|
 | 
						|
    function DrgDrag(hwndSource : HWND;pdinfo : PDRAGINFO;pdimg : PDRAGIMAGE;cdimg : ULONG;vkTerminate : LONG;pRsvd : PVOID) : HWND;
 | 
						|
 | 
						|
    type
 | 
						|
       PPSZ = ^PSZ;
 | 
						|
 | 
						|
 | 
						|
    function DrgDragFiles(hwnd : HWND;apszFiles : PPSZ;apszTypes : PPSZ;apszTargets : PPSZ;cFiles : ULONG;hptrDrag : HPOINTER;vkTerm : ULONG;fSourceRender : BOOL;ulRsvd : ULONG) : BOOL;
 | 
						|
 | 
						|
    function DrgPostTransferMsg(hwnd : HWND;msg : ULONG;pdxfer : PDRAGTRANSFER;fl : ULONG;ulRsvd : ULONG;fRetry : BOOL) : BOOL;
 | 
						|
 | 
						|
    function DrgQueryDragitem(pdinfo : PDRAGINFO;cbBuffer : ULONG;pditem : PDRAGITEM;iItem : ULONG) : BOOL;
 | 
						|
 | 
						|
    function DrgQueryDragitemCount(pdinfo : PDRAGINFO) : ULONG;
 | 
						|
 | 
						|
    function DrgQueryDragitemPtr(pdinfo : PDRAGINFO;i : ULONG) : PDRAGITEM;
 | 
						|
 | 
						|
    function DrgQueryNativeRMF(pditem : PDRAGITEM;cbBuffer : ULONG;pBuffer : PCHAR) : BOOL;
 | 
						|
 | 
						|
    function DrgQueryNativeRMFLen(pditem : PDRAGITEM) : ULONG;
 | 
						|
 | 
						|
    function DrgQueryStrName(hstr : HSTR;cbBuffer : ULONG;pBuffer : PSZ) : ULONG;
 | 
						|
 | 
						|
    function DrgQueryStrNameLen(hstr : HSTR) : ULONG;
 | 
						|
 | 
						|
    function DrgQueryTrueType(pditem : PDRAGITEM;cbBuffer : ULONG;pBuffer : PSZ) : BOOL;
 | 
						|
 | 
						|
    function DrgQueryTrueTypeLen(pditem : PDRAGITEM) : ULONG;
 | 
						|
 | 
						|
    function DrgSendTransferMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
 | 
						|
 | 
						|
    function DrgSetDragitem(pdinfo : PDRAGINFO;pditem : PDRAGITEM;cbBuffer : ULONG;iItem : ULONG) : BOOL;
 | 
						|
 | 
						|
    function DrgSetDragImage(pdinfo : PDRAGINFO;pdimg : PDRAGIMAGE;cdimg : ULONG;pRsvd : PVOID) : BOOL;
 | 
						|
 | 
						|
    function DrgVerifyTypeSet(pditem : PDRAGITEM;pszType : PSZ;cbMatch : ULONG;pszMatch : PSZ) : BOOL;
 | 
						|
 | 
						|
    function DrgAccessDraginfo(pdinfo : PDRAGINFO) : BOOL;
 | 
						|
 | 
						|
    function DrgAddStrHandle(psz : PSZ) : HSTR;
 | 
						|
 | 
						|
    function DrgDeleteDraginfoStrHandles(pdinfo : PDRAGINFO) : BOOL;
 | 
						|
 | 
						|
    function DrgDeleteStrHandle(hstr : HSTR) : BOOL;
 | 
						|
 | 
						|
    function DrgFreeDraginfo(pdinfo : PDRAGINFO) : BOOL;
 | 
						|
 | 
						|
    function DrgFreeDragtransfer(pdxfer : PDRAGTRANSFER) : BOOL;
 | 
						|
 | 
						|
    function DrgGetPS(hwnd : HWND) : HPS;
 | 
						|
 | 
						|
    function DrgPushDraginfo(pdinfo : PDRAGINFO;hwndDest : HWND) : BOOL;
 | 
						|
 | 
						|
    function DrgReleasePS(hps : HPS) : BOOL;
 | 
						|
 | 
						|
    function DrgSetDragPointer(pdinfo : PDRAGINFO;hptr : HPOINTER) : BOOL;
 | 
						|
 | 
						|
    function DrgVerifyNativeRMF(pditem : PDRAGITEM;pszRMF : PSZ) : BOOL;
 | 
						|
 | 
						|
    function DrgVerifyRMF(pditem : PDRAGITEM;pszMech : PSZ;pszFmt : PSZ) : BOOL;
 | 
						|
 | 
						|
    function DrgVerifyTrueType(pditem : PDRAGITEM;pszType : PSZ) : BOOL;
 | 
						|
 | 
						|
    function DrgVerifyType(pditem : PDRAGITEM;pszType : PSZ) : BOOL;
 | 
						|
 | 
						|
    const
 | 
						|
       PMERR_NOFILTERED_ITEMS = $1f02;
 | 
						|
       PMERR_COMPARISON_FAILED = $1f03;
 | 
						|
       PMERR_RECORD_CURRENTLY_INSERTED = $1f04;
 | 
						|
       PMERR_FI_CURRENTLY_INSERTED = $1f05;
 | 
						|
       CCS_EXTENDSEL = $00000001;
 | 
						|
       CCS_MULTIPLESEL = $00000002;
 | 
						|
       CCS_SINGLESEL = $00000004;
 | 
						|
       CCS_AUTOPOSITION = $00000008;
 | 
						|
       CCS_VERIFYPOINTERS = $00000010;
 | 
						|
       CCS_READONLY = $00000020;
 | 
						|
       CCS_MINIRECORDCORE = $00000040;
 | 
						|
       CV_TEXT = $00000001;
 | 
						|
       CV_NAME = $00000002;
 | 
						|
       CV_ICON = $00000004;
 | 
						|
       CV_DETAIL = $00000008;
 | 
						|
       CV_FLOW = $00000010;
 | 
						|
       CV_MINI = $00000020;
 | 
						|
       CV_TREE = $00000040;
 | 
						|
       CA_CONTAINERTITLE = $00000200;
 | 
						|
       CA_TITLESEPARATOR = $00000400;
 | 
						|
       CA_TITLELEFT = $00000800;
 | 
						|
       CA_TITLERIGHT = $00001000;
 | 
						|
       CA_TITLECENTER = $00002000;
 | 
						|
       CA_OWNERDRAW = $00004000;
 | 
						|
       CA_DETAILSVIEWTITLES = $00008000;
 | 
						|
       CA_ORDEREDTARGETEMPH = $00010000;
 | 
						|
       CA_DRAWBITMAP = $00020000;
 | 
						|
       CA_DRAWICON = $00040000;
 | 
						|
       CA_TITLEREADONLY = $00080000;
 | 
						|
       CA_OWNERPAINTBACKGROUND = $00100000;
 | 
						|
       CA_MIXEDTARGETEMPH = $00200000;
 | 
						|
       CA_TREELINE = $00400000;
 | 
						|
       CID_LEFTCOLTITLEWND = $7FF0;
 | 
						|
       CID_RIGHTCOLTITLEWND = $7FF1;
 | 
						|
       CID_BLANKBOX = $7FF2;
 | 
						|
       CID_HSCROLL = $7FF3;
 | 
						|
       CID_RIGHTHSCROLL = $7FF4;
 | 
						|
       CID_CNRTITLEWND = $7FF5;
 | 
						|
       CID_LEFTDVWND = $7FF7;
 | 
						|
       CID_RIGHTDVWND = $7FF8;
 | 
						|
       CID_VSCROLL = $7FF9;
 | 
						|
       CID_MLE = $7FFA;
 | 
						|
 | 
						|
    type
 | 
						|
       TREEITEMDESC = record
 | 
						|
          hbmExpanded : HBITMAP;
 | 
						|
          hbmCollapsed : HBITMAP;
 | 
						|
          hptrExpanded : HPOINTER;
 | 
						|
          hptrCollapsed : HPOINTER;
 | 
						|
       end;
 | 
						|
 | 
						|
       PTREEITEMDESC = ^TREEITEMDESC;
 | 
						|
 | 
						|
       PFIELDINFO = ^FIELDINFO;
 | 
						|
 | 
						|
       FIELDINFO = record
 | 
						|
          cb : ULONG;
 | 
						|
          flData : ULONG;
 | 
						|
          flTitle : ULONG;
 | 
						|
          pTitleData : PVOID;
 | 
						|
          offStruct : ULONG;
 | 
						|
          pUserData : PVOID;
 | 
						|
          pNextFieldInfo : PFIELDINFO;
 | 
						|
          cxWidth : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PRECORDCORE = ^RECORDCORE;
 | 
						|
 | 
						|
       RECORDCORE = record
 | 
						|
          cb : ULONG;
 | 
						|
          flRecordAttr : ULONG;
 | 
						|
          ptlIcon : POINTL;
 | 
						|
          preccNextRecord : PRECORDCORE;
 | 
						|
          pszIcon : PSZ;
 | 
						|
          hptrIcon : HPOINTER;
 | 
						|
          hptrMiniIcon : HPOINTER;
 | 
						|
          hbmBitmap : HBITMAP;
 | 
						|
          hbmMiniBitmap : HBITMAP;
 | 
						|
          pTreeItemDesc : PTREEITEMDESC;
 | 
						|
          pszText : PSZ;
 | 
						|
          pszName : PSZ;
 | 
						|
          pszTree : PSZ;
 | 
						|
       end;
 | 
						|
 | 
						|
       PMINIRECORDCORE = ^MINIRECORDCORE;
 | 
						|
 | 
						|
       MINIRECORDCORE = record
 | 
						|
          cb : ULONG;
 | 
						|
          flRecordAttr : ULONG;
 | 
						|
          ptlIcon : POINTL;
 | 
						|
          preccNextRecord : PMINIRECORDCORE;
 | 
						|
          pszIcon : PSZ;
 | 
						|
          hptrIcon : HPOINTER;
 | 
						|
       end;
 | 
						|
 | 
						|
       CNRINFO = record
 | 
						|
          cb : ULONG;
 | 
						|
          pSortRecord : PVOID;
 | 
						|
          pFieldInfoLast : PFIELDINFO;
 | 
						|
          pFieldInfoObject : PFIELDINFO;
 | 
						|
          pszCnrTitle : PSZ;
 | 
						|
          flWindowAttr : ULONG;
 | 
						|
          ptlOrigin : POINTL;
 | 
						|
          cDelta : ULONG;
 | 
						|
          cRecords : ULONG;
 | 
						|
          slBitmapOrIcon : SIZEL;
 | 
						|
          slTreeBitmapOrIcon : SIZEL;
 | 
						|
          hbmExpanded : HBITMAP;
 | 
						|
          hbmCollapsed : HBITMAP;
 | 
						|
          hptrExpanded : HPOINTER;
 | 
						|
          hptrCollapsed : HPOINTER;
 | 
						|
          cyLineSpacing : LONG;
 | 
						|
          cxTreeIndent : LONG;
 | 
						|
          cxTreeLine : LONG;
 | 
						|
          cFields : ULONG;
 | 
						|
          xVertSplitbar : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PCNRINFO = ^CNRINFO;
 | 
						|
 | 
						|
       CDATE = record
 | 
						|
          day : UCHAR;
 | 
						|
          month : UCHAR;
 | 
						|
          year : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PCDATE = ^CDATE;
 | 
						|
 | 
						|
       CTIME = record
 | 
						|
          hours : UCHAR;
 | 
						|
          minutes : UCHAR;
 | 
						|
          seconds : UCHAR;
 | 
						|
          ucReserved : UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
       PCTIME = ^CTIME;
 | 
						|
 | 
						|
    const
 | 
						|
       CFA_LEFT = $00000001;
 | 
						|
       CFA_RIGHT = $00000002;
 | 
						|
       CFA_CENTER = $00000004;
 | 
						|
       CFA_TOP = $00000008;
 | 
						|
       CFA_VCENTER = $00000010;
 | 
						|
       CFA_BOTTOM = $00000020;
 | 
						|
       CFA_INVISIBLE = $00000040;
 | 
						|
       CFA_BITMAPORICON = $00000100;
 | 
						|
       CFA_SEPARATOR = $00000200;
 | 
						|
       CFA_HORZSEPARATOR = $00000400;
 | 
						|
       CFA_STRING = $00000800;
 | 
						|
       CFA_OWNER = $00001000;
 | 
						|
       CFA_DATE = $00002000;
 | 
						|
       CFA_TIME = $00004000;
 | 
						|
       CFA_FIREADONLY = $00008000;
 | 
						|
       CFA_FITITLEREADONLY = $00010000;
 | 
						|
       CFA_ULONG = $00020000;
 | 
						|
       CRA_SELECTED = $00000001;
 | 
						|
       CRA_TARGET = $00000002;
 | 
						|
       CRA_CURSORED = $00000004;
 | 
						|
       CRA_INUSE = $00000008;
 | 
						|
       CRA_FILTERED = $00000010;
 | 
						|
       CRA_DROPONABLE = $00000020;
 | 
						|
       CRA_RECORDREADONLY = $00000040;
 | 
						|
       CRA_EXPANDED = $00000080;
 | 
						|
       CRA_COLLAPSED = $00000100;
 | 
						|
       CM_ALLOCDETAILFIELDINFO = $0330;
 | 
						|
       CM_ALLOCRECORD = $0331;
 | 
						|
       CM_ARRANGE = $0332;
 | 
						|
       CM_ERASERECORD = $0333;
 | 
						|
       CM_FILTER = $0334;
 | 
						|
       CM_FREEDETAILFIELDINFO = $0335;
 | 
						|
       CM_FREERECORD = $0336;
 | 
						|
       CM_HORZSCROLLSPLITWINDOW = $0337;
 | 
						|
       CM_INSERTDETAILFIELDINFO = $0338;
 | 
						|
       CM_INSERTRECORD = $0339;
 | 
						|
       CM_INVALIDATEDETAILFIELDINFO = $033a;
 | 
						|
       CM_INVALIDATERECORD = $033b;
 | 
						|
       CM_PAINTBACKGROUND = $033c;
 | 
						|
       CM_QUERYCNRINFO = $033d;
 | 
						|
       CM_QUERYDETAILFIELDINFO = $033e;
 | 
						|
       CM_QUERYDRAGIMAGE = $033f;
 | 
						|
       CM_QUERYRECORD = $0340;
 | 
						|
       CM_QUERYRECORDEMPHASIS = $0341;
 | 
						|
       CM_QUERYRECORDFROMRECT = $0342;
 | 
						|
       CM_QUERYRECORDRECT = $0343;
 | 
						|
       CM_QUERYVIEWPORTRECT = $0344;
 | 
						|
       CM_REMOVEDETAILFIELDINFO = $0345;
 | 
						|
       CM_REMOVERECORD = $0346;
 | 
						|
       CM_SCROLLWINDOW = $0347;
 | 
						|
       CM_SEARCHSTRING = $0348;
 | 
						|
       CM_SETCNRINFO = $0349;
 | 
						|
       CM_SETRECORDEMPHASIS = $034a;
 | 
						|
       CM_SORTRECORD = $034b;
 | 
						|
       CM_OPENEDIT = $034c;
 | 
						|
       CM_CLOSEEDIT = $034d;
 | 
						|
       CM_COLLAPSETREE = $034e;
 | 
						|
       CM_EXPANDTREE = $034f;
 | 
						|
       CM_QUERYRECORDINFO = $0350;
 | 
						|
       CN_DRAGAFTER = 101;
 | 
						|
       CN_DRAGLEAVE = 102;
 | 
						|
       CN_DRAGOVER = 103;
 | 
						|
       CN_DROP = 104;
 | 
						|
       CN_DROPHELP = 105;
 | 
						|
       CN_ENTER = 106;
 | 
						|
       CN_INITDRAG = 107;
 | 
						|
       CN_EMPHASIS = 108;
 | 
						|
       CN_KILLFOCUS = 109;
 | 
						|
       CN_SCROLL = 110;
 | 
						|
       CN_QUERYDELTA = 111;
 | 
						|
       CN_SETFOCUS = 112;
 | 
						|
       CN_REALLOCPSZ = 113;
 | 
						|
       CN_BEGINEDIT = 114;
 | 
						|
       CN_ENDEDIT = 115;
 | 
						|
       CN_COLLAPSETREE = 116;
 | 
						|
       CN_EXPANDTREE = 117;
 | 
						|
       CN_HELP = 118;
 | 
						|
       CN_CONTEXTMENU = 119;
 | 
						|
 | 
						|
    type
 | 
						|
       CNRDRAGINIT = record
 | 
						|
          hwndCnr : HWND;
 | 
						|
          pRecord : PRECORDCORE;
 | 
						|
          x : LONG;
 | 
						|
          y : LONG;
 | 
						|
          cx : LONG;
 | 
						|
          cy : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PCNRDRAGINIT = ^CNRDRAGINIT;
 | 
						|
 | 
						|
       FIELDINFOINSERT = record
 | 
						|
          cb : ULONG;
 | 
						|
          pFieldInfoOrder : PFIELDINFO;
 | 
						|
          fInvalidateFieldInfo : ULONG;
 | 
						|
          cFieldInfoInsert : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PFIELDINFOINSERT = ^FIELDINFOINSERT;
 | 
						|
 | 
						|
       RECORDINSERT = record
 | 
						|
          cb : ULONG;
 | 
						|
          pRecordOrder : PRECORDCORE;
 | 
						|
          pRecordParent : PRECORDCORE;
 | 
						|
          fInvalidateRecord : ULONG;
 | 
						|
          zOrder : ULONG;
 | 
						|
          cRecordsInsert : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PRECORDINSERT = ^RECORDINSERT;
 | 
						|
 | 
						|
       QUERYRECFROMRECT = record
 | 
						|
          cb : ULONG;
 | 
						|
          rect : RECTL;
 | 
						|
          fsSearch : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PQUERYRECFROMRECT = ^QUERYRECFROMRECT;
 | 
						|
 | 
						|
       QUERYRECORDRECT = record
 | 
						|
          cb : ULONG;
 | 
						|
          pRecord : PRECORDCORE;
 | 
						|
          fRightSplitWindow : ULONG;
 | 
						|
          fsExtent : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PQUERYRECORDRECT = ^QUERYRECORDRECT;
 | 
						|
 | 
						|
       SEARCHSTRING = record
 | 
						|
          cb : ULONG;
 | 
						|
          pszSearch : PSZ;
 | 
						|
          fsPrefix : ULONG;
 | 
						|
          fsCaseSensitive : ULONG;
 | 
						|
          usView : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PSEARCHSTRING = ^SEARCHSTRING;
 | 
						|
 | 
						|
       CNRDRAGINFO = record
 | 
						|
          pDragInfo : PDRAGINFO;
 | 
						|
          pRecord : PRECORDCORE;
 | 
						|
       end;
 | 
						|
 | 
						|
       PCNRDRAGINFO = ^CNRDRAGINFO;
 | 
						|
 | 
						|
       NOTIFYRECORDEMPHASIS = record
 | 
						|
          hwndCnr : HWND;
 | 
						|
          pRecord : PRECORDCORE;
 | 
						|
          fEmphasisMask : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PNOTIFYRECORDEMPHASIS = ^NOTIFYRECORDEMPHASIS;
 | 
						|
 | 
						|
       NOTIFYRECORDENTER = record
 | 
						|
          hwndCnr : HWND;
 | 
						|
          fKey : ULONG;
 | 
						|
          pRecord : PRECORDCORE;
 | 
						|
       end;
 | 
						|
 | 
						|
       PNOTIFYRECORDENTER = ^NOTIFYRECORDENTER;
 | 
						|
 | 
						|
       NOTIFYDELTA = record
 | 
						|
          hwndCnr : HWND;
 | 
						|
          fDelta : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PNOTIFYDELTA = ^NOTIFYDELTA;
 | 
						|
 | 
						|
       NOTIFYSCROLL = record
 | 
						|
          hwndCnr : HWND;
 | 
						|
          lScrollInc : LONG;
 | 
						|
          fScroll : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PNOTIFYSCROLL = ^NOTIFYSCROLL;
 | 
						|
 | 
						|
       CNREDITDATA = record
 | 
						|
          cb : ULONG;
 | 
						|
          hwndCnr : HWND;
 | 
						|
          pRecord : PRECORDCORE;
 | 
						|
          pFieldInfo : PFIELDINFO;
 | 
						|
          ppszText : PPSZ;
 | 
						|
          cbText : ULONG;
 | 
						|
          id : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PCNREDITDATA = ^CNREDITDATA;
 | 
						|
 | 
						|
       OWNERBACKGROUND = record
 | 
						|
          hwnd : HWND;
 | 
						|
          hps : HPS;
 | 
						|
          rclBackground : RECTL;
 | 
						|
          idWindow : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       POWNERBACKGROUND = ^OWNERBACKGROUND;
 | 
						|
 | 
						|
       CNRDRAWITEMINFO = record
 | 
						|
          pRecord : PRECORDCORE;
 | 
						|
          pFieldInfo : PFIELDINFO;
 | 
						|
       end;
 | 
						|
 | 
						|
       PCNRDRAWITEMINFO = ^CNRDRAWITEMINFO;
 | 
						|
 | 
						|
    const
 | 
						|
       CMA_TOP = $0001;
 | 
						|
       CMA_BOTTOM = $0002;
 | 
						|
       CMA_LEFT = $0004;
 | 
						|
       CMA_RIGHT = $0008;
 | 
						|
       CMA_FIRST = $0010;
 | 
						|
       CMA_LAST = $0020;
 | 
						|
       CMA_END = $0040;
 | 
						|
       CMA_PREV = $0080;
 | 
						|
       CMA_NEXT = $0100;
 | 
						|
       CMA_HORIZONTAL = $0200;
 | 
						|
       CMA_VERTICAL = $0400;
 | 
						|
       CMA_ICON = $0800;
 | 
						|
       CMA_TEXT = $1000;
 | 
						|
       CMA_PARTIAL = $2000;
 | 
						|
       CMA_COMPLETE = $4000;
 | 
						|
       CMA_PARENT = $0001;
 | 
						|
       CMA_FIRSTCHILD = $0002;
 | 
						|
       CMA_LASTCHILD = $0004;
 | 
						|
       CMA_CNRTITLE = $0001;
 | 
						|
       CMA_DELTA = $0002;
 | 
						|
       CMA_FLWINDOWATTR = $0004;
 | 
						|
       CMA_LINESPACING = $0008;
 | 
						|
       CMA_PFIELDINFOLAST = $0010;
 | 
						|
       CMA_PSORTRECORD = $0020;
 | 
						|
       CMA_PTLORIGIN = $0040;
 | 
						|
       CMA_SLBITMAPORICON = $0080;
 | 
						|
       CMA_XVERTSPLITBAR = $0100;
 | 
						|
       CMA_PFIELDINFOOBJECT = $0200;
 | 
						|
       CMA_TREEICON = $0400;
 | 
						|
       CMA_TREEBITMAP = $0800;
 | 
						|
       CMA_CXTREEINDENT = $1000;
 | 
						|
       CMA_CXTREELINE = $2000;
 | 
						|
       CMA_SLTREEBITMAPORICON = $4000;
 | 
						|
       CMA_ITEMORDER = $0001;
 | 
						|
       CMA_WINDOW = $0002;
 | 
						|
       CMA_WORKSPACE = $0004;
 | 
						|
       CMA_ZORDER = $0008;
 | 
						|
       CMA_DELTATOP = $0001;
 | 
						|
       CMA_DELTABOT = $0002;
 | 
						|
       CMA_DELTAHOME = $0004;
 | 
						|
       CMA_DELTAEND = $0008;
 | 
						|
       CMA_NOREPOSITION = $0001;
 | 
						|
       CMA_REPOSITION = $0002;
 | 
						|
       CMA_TEXTCHANGED = $0004;
 | 
						|
       CMA_ERASE = $0008;
 | 
						|
       CMA_FREE = $0001;
 | 
						|
       CMA_INVALIDATE = $0002;
 | 
						|
       SLM_ADDDETENT = $0369;
 | 
						|
       SLM_QUERYDETENTPOS = $036a;
 | 
						|
       SLM_QUERYSCALETEXT = $036b;
 | 
						|
       SLM_QUERYSLIDERINFO = $036c;
 | 
						|
       SLM_QUERYTICKPOS = $036d;
 | 
						|
       SLM_QUERYTICKSIZE = $036e;
 | 
						|
       SLM_REMOVEDETENT = $036f;
 | 
						|
       SLM_SETSCALETEXT = $0370;
 | 
						|
       SLM_SETSLIDERINFO = $0371;
 | 
						|
       SLM_SETTICKSIZE = $0372;
 | 
						|
       SLN_CHANGE = 1;
 | 
						|
       SLN_SLIDERTRACK = 2;
 | 
						|
       SLN_SETFOCUS = 3;
 | 
						|
       SLN_KILLFOCUS = 4;
 | 
						|
 | 
						|
    type
 | 
						|
       SLDCDATA = record
 | 
						|
          cbSize : ULONG;
 | 
						|
          usScale1Increments : USHORT;
 | 
						|
          usScale1Spacing : USHORT;
 | 
						|
          usScale2Increments : USHORT;
 | 
						|
          usScale2Spacing : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PSLDCDATA = ^SLDCDATA;
 | 
						|
 | 
						|
    const
 | 
						|
       SLS_HORIZONTAL = $00000000;
 | 
						|
       SLS_VERTICAL = $00000001;
 | 
						|
       SLS_CENTER = $00000000;
 | 
						|
       SLS_BOTTOM = $00000002;
 | 
						|
       SLS_TOP = $00000004;
 | 
						|
       SLS_LEFT = $00000002;
 | 
						|
       SLS_RIGHT = $00000004;
 | 
						|
       SLS_SNAPTOINCREMENT = $00000008;
 | 
						|
       SLS_BUTTONSBOTTOM = $00000010;
 | 
						|
       SLS_BUTTONSTOP = $00000020;
 | 
						|
       SLS_BUTTONSLEFT = $00000010;
 | 
						|
       SLS_BUTTONSRIGHT = $00000020;
 | 
						|
       SLS_OWNERDRAW = $00000040;
 | 
						|
       SLS_READONLY = $00000080;
 | 
						|
       SLS_RIBBONSTRIP = $00000100;
 | 
						|
       SLS_HOMEBOTTOM = $00000000;
 | 
						|
       SLS_HOMETOP = $00000200;
 | 
						|
       SLS_HOMELEFT = $00000000;
 | 
						|
       SLS_HOMERIGHT = $00000200;
 | 
						|
       SLS_PRIMARYSCALE1 = $00000000;
 | 
						|
       SLS_PRIMARYSCALE2 = $00000400;
 | 
						|
       SMA_SCALE1 = $0001;
 | 
						|
       SMA_SCALE2 = $0002;
 | 
						|
       SMA_SHAFTDIMENSIONS = $0000;
 | 
						|
       SMA_SHAFTPOSITION = $0001;
 | 
						|
       SMA_SLIDERARMDIMENSIONS = $0002;
 | 
						|
       SMA_SLIDERARMPOSITION = $0003;
 | 
						|
       SMA_RANGEVALUE = $0000;
 | 
						|
       SMA_INCREMENTVALUE = $0001;
 | 
						|
       SMA_SETALLTICKS = $FFFF;
 | 
						|
       SDA_RIBBONSTRIP = $0001;
 | 
						|
       SDA_SLIDERSHAFT = $0002;
 | 
						|
       SDA_BACKGROUND = $0003;
 | 
						|
       SDA_SLIDERARM = $0004;
 | 
						|
       PMERR_UPDATE_IN_PROGRESS = $1f06;
 | 
						|
       SLDERR_INVALID_PARAMETERS = -1;
 | 
						|
       VM_QUERYITEM = $0375;
 | 
						|
       VM_QUERYITEMATTR = $0376;
 | 
						|
       VM_QUERYMETRICS = $0377;
 | 
						|
       VM_QUERYSELECTEDITEM = $0378;
 | 
						|
       VM_SELECTITEM = $0379;
 | 
						|
       VM_SETITEM = $037a;
 | 
						|
       VM_SETITEMATTR = $037b;
 | 
						|
       VM_SETMETRICS = $037c;
 | 
						|
       VN_SELECT = 120;
 | 
						|
       VN_ENTER = 121;
 | 
						|
       VN_DRAGLEAVE = 122;
 | 
						|
       VN_DRAGOVER = 123;
 | 
						|
       VN_DROP = 124;
 | 
						|
       VN_DROPHELP = 125;
 | 
						|
       VN_INITDRAG = 126;
 | 
						|
       VN_SETFOCUS = 127;
 | 
						|
       VN_KILLFOCUS = 128;
 | 
						|
       VN_HELP = 129;
 | 
						|
 | 
						|
    type
 | 
						|
       VSCDATA = record
 | 
						|
          cbSize : ULONG;
 | 
						|
          usRowCount : USHORT;
 | 
						|
          usColumnCount : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PVSCDATA = ^VSCDATA;
 | 
						|
 | 
						|
       VSDRAGINIT = record
 | 
						|
          hwnd : HWND;
 | 
						|
          x : LONG;
 | 
						|
          y : LONG;
 | 
						|
          cx : LONG;
 | 
						|
          cy : LONG;
 | 
						|
          usRow : USHORT;
 | 
						|
          usColumn : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PVSDRAGINIT = ^VSDRAGINIT;
 | 
						|
 | 
						|
       VSDRAGINFO = record
 | 
						|
          pDragInfo : PDRAGINFO;
 | 
						|
          usRow : USHORT;
 | 
						|
          usColumn : USHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       PVSDRAGINFO = ^VSDRAGINFO;
 | 
						|
 | 
						|
       VSTEXT = record
 | 
						|
          pszItemText : PSZ;
 | 
						|
          ulBufLen : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PVSTEXT = ^VSTEXT;
 | 
						|
 | 
						|
    const
 | 
						|
       VS_BITMAP = $0001;
 | 
						|
       VS_ICON = $0002;
 | 
						|
       VS_TEXT = $0004;
 | 
						|
       VS_RGB = $0008;
 | 
						|
       VS_COLORINDEX = $0010;
 | 
						|
       VS_BORDER = $0020;
 | 
						|
       VS_ITEMBORDER = $0040;
 | 
						|
       VS_SCALEBITMAPS = $0080;
 | 
						|
       VS_RIGHTTOLEFT = $0100;
 | 
						|
       VS_OWNERDRAW = $0200;
 | 
						|
       VIA_BITMAP = $0001;
 | 
						|
       VIA_ICON = $0002;
 | 
						|
       VIA_TEXT = $0004;
 | 
						|
       VIA_RGB = $0008;
 | 
						|
       VIA_COLORINDEX = $0010;
 | 
						|
       VIA_OWNERDRAW = $0020;
 | 
						|
       VIA_DISABLED = $0040;
 | 
						|
       VIA_DRAGGABLE = $0080;
 | 
						|
       VIA_DROPONABLE = $0100;
 | 
						|
       VMA_ITEMSIZE = $0001;
 | 
						|
       VMA_ITEMSPACING = $0002;
 | 
						|
       VDA_ITEM = $0001;
 | 
						|
       VDA_ITEMBACKGROUND = $0002;
 | 
						|
       VDA_SURROUNDING = $0003;
 | 
						|
       VDA_BACKGROUND = $0004;
 | 
						|
       VSERR_INVALID_PARAMETERS = -1;
 | 
						|
       BKM_CALCPAGERECT = $0353;
 | 
						|
       BKM_DELETEPAGE = $0354;
 | 
						|
       BKM_INSERTPAGE = $0355;
 | 
						|
       BKM_INVALIDATETABS = $0356;
 | 
						|
       BKM_TURNTOPAGE = $0357;
 | 
						|
       BKM_QUERYPAGECOUNT = $0358;
 | 
						|
       BKM_QUERYPAGEID = $0359;
 | 
						|
       BKM_QUERYPAGEDATA = $035a;
 | 
						|
       BKM_QUERYPAGEWINDOWHWND = $035b;
 | 
						|
       BKM_QUERYTABBITMAP = $035c;
 | 
						|
       BKM_QUERYTABTEXT = $035d;
 | 
						|
       BKM_SETDIMENSIONS = $035e;
 | 
						|
       BKM_SETPAGEDATA = $035f;
 | 
						|
       BKM_SETPAGEWINDOWHWND = $0360;
 | 
						|
       BKM_SETSTATUSLINETEXT = $0361;
 | 
						|
       BKM_SETTABBITMAP = $0362;
 | 
						|
       BKM_SETTABTEXT = $0363;
 | 
						|
       BKM_SETNOTEBOOKCOLORS = $0364;
 | 
						|
       BKM_QUERYPAGESTYLE = $0365;
 | 
						|
       BKM_QUERYSTATUSLINETEXT = $0366;
 | 
						|
       BKN_PAGESELECTED = 130;
 | 
						|
       BKN_NEWPAGESIZE = 131;
 | 
						|
       BKN_HELP = 132;
 | 
						|
       BKN_PAGEDELETED = 133;
 | 
						|
       BKA_ALL = $0001;
 | 
						|
       BKA_SINGLE = $0002;
 | 
						|
       BKA_TAB = $0004;
 | 
						|
       BKA_LAST = $0002;
 | 
						|
       BKA_FIRST = $0004;
 | 
						|
       BKA_NEXT = $0008;
 | 
						|
       BKA_PREV = $0010;
 | 
						|
       BKA_TOP = $0020;
 | 
						|
       BKA_MAJORTAB = $0001;
 | 
						|
       BKA_MINORTAB = $0002;
 | 
						|
       BKA_PAGEBUTTON = $0100;
 | 
						|
       BKA_STATUSTEXTON = $0001;
 | 
						|
       BKA_MAJOR = $0040;
 | 
						|
       BKA_MINOR = $0080;
 | 
						|
       BKA_AUTOPAGESIZE = $0100;
 | 
						|
       BKA_END = $0200;
 | 
						|
       BKA_TEXT = $0400;
 | 
						|
       BKA_BITMAP = $0800;
 | 
						|
       BKS_BACKPAGESBR = $00000001;
 | 
						|
       BKS_BACKPAGESBL = $00000002;
 | 
						|
       BKS_BACKPAGESTR = $00000004;
 | 
						|
       BKS_BACKPAGESTL = $00000008;
 | 
						|
       BKS_MAJORTABRIGHT = $00000010;
 | 
						|
       BKS_MAJORTABLEFT = $00000020;
 | 
						|
       BKS_MAJORTABTOP = $00000040;
 | 
						|
       BKS_MAJORTABBOTTOM = $00000080;
 | 
						|
       BKS_SQUARETABS = $00000000;
 | 
						|
       BKS_ROUNDEDTABS = $00000100;
 | 
						|
       BKS_POLYGONTABS = $00000200;
 | 
						|
       BKS_SOLIDBIND = $00000000;
 | 
						|
       BKS_SPIRALBIND = $00000400;
 | 
						|
       BKS_STATUSTEXTLEFT = $00000000;
 | 
						|
       BKS_STATUSTEXTRIGHT = $00001000;
 | 
						|
       BKS_STATUSTEXTCENTER = $00002000;
 | 
						|
       BKS_TABTEXTLEFT = $00000000;
 | 
						|
       BKS_TABTEXTRIGHT = $00004000;
 | 
						|
       BKS_TABTEXTCENTER = $00008000;
 | 
						|
       BKA_BACKGROUNDPAGECOLORINDEX = $0001;
 | 
						|
       BKA_BACKGROUNDPAGECOLOR = $0002;
 | 
						|
       BKA_BACKGROUNDMAJORCOLORINDEX = $0003;
 | 
						|
       BKA_BACKGROUNDMAJORCOLOR = $0004;
 | 
						|
       BKA_BACKGROUNDMINORCOLORINDEX = $0005;
 | 
						|
       BKA_BACKGROUNDMINORCOLOR = $0006;
 | 
						|
       BKA_FOREGROUNDMAJORCOLORINDEX = $0007;
 | 
						|
       BKA_FOREGROUNDMAJORCOLOR = $0008;
 | 
						|
       BKA_FOREGROUNDMINORCOLORINDEX = $0009;
 | 
						|
       BKA_FOREGROUNDMINORCOLOR = $000A;
 | 
						|
       BOOKERR_INVALID_PARAMETERS = -1;
 | 
						|
 | 
						|
    type
 | 
						|
       BOOKTEXT = record
 | 
						|
          pString : PSZ;
 | 
						|
          textLen : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PBOOKTEXT = ^BOOKTEXT;
 | 
						|
 | 
						|
       DELETENOTIFY = record
 | 
						|
          hwndBook : HWND;
 | 
						|
          hwndPage : HWND;
 | 
						|
          ulAppPageData : ULONG;
 | 
						|
          hbmTab : HBITMAP;
 | 
						|
       end;
 | 
						|
 | 
						|
       PDELETENOTIFY = ^DELETENOTIFY;
 | 
						|
 | 
						|
       PAGESELECTNOTIFY = record
 | 
						|
          hwndBook : HWND;
 | 
						|
          ulPageIdCur : ULONG;
 | 
						|
          ulPageIdNew : ULONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       PPAGESELECTNOTIFY = ^PAGESELECTNOTIFY;
 | 
						|
 | 
						|
  implementation
 | 
						|
  
 | 
						|
    function WinFileDlg(hwndP : HWND;hwndO : HWND;pfild : PFILEDLG) : HWND;[SYSTEM];
 | 
						|
    function WinDefFileDlgProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
 | 
						|
    function WinFreeFileDlgList(papszFQFilename : PAPSZ) : BOOL;[SYSTEM];
 | 
						|
    function WinFontDlg(hwndP : HWND;hwndO : HWND;pfntd : PFONTDLG) : HWND;[SYSTEM];
 | 
						|
    function WinDefFontDlgProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
 | 
						|
    function DrgAcceptDroppedFiles(hwnd : HWND;pszPath : PSZ;pszTypes : PSZ;ulDefaultOp : ULONG;ulRsvd : ULONG) : BOOL;[SYSTEM];
 | 
						|
    function DrgAllocDraginfo(cditem : ULONG) : PDRAGINFO;[SYSTEM];
 | 
						|
    function DrgAllocDragtransfer(cdxfer : ULONG) : PDRAGTRANSFER;[SYSTEM];
 | 
						|
    function DrgDrag(hwndSource : HWND;pdinfo : PDRAGINFO;pdimg : PDRAGIMAGE;cdimg : ULONG;vkTerminate : LONG;pRsvd : PVOID) : HWND;[SYSTEM];
 | 
						|
    function DrgDragFiles(hwnd : HWND;apszFiles : PPSZ;apszTypes : PPSZ;apszTargets : PPSZ;cFiles : ULONG;hptrDrag : HPOINTER;vkTerm : ULONG;fSourceRender : BOOL;ulRsvd : ULONG) : BOOL;[SYSTEM];
 | 
						|
    function DrgPostTransferMsg(hwnd : HWND;msg : ULONG;pdxfer : PDRAGTRANSFER;fl : ULONG;ulRsvd : ULONG;fRetry : BOOL) : BOOL;[SYSTEM];
 | 
						|
    function DrgQueryDragitem(pdinfo : PDRAGINFO;cbBuffer : ULONG;pditem : PDRAGITEM;iItem : ULONG) : BOOL;[SYSTEM];
 | 
						|
    function DrgQueryDragitemCount(pdinfo : PDRAGINFO) : ULONG;[SYSTEM];
 | 
						|
    function DrgQueryDragitemPtr(pdinfo : PDRAGINFO;i : ULONG) : PDRAGITEM;[SYSTEM];
 | 
						|
    function DrgQueryNativeRMF(pditem : PDRAGITEM;cbBuffer : ULONG;pBuffer : PCHAR) : BOOL;[SYSTEM];
 | 
						|
    function DrgQueryNativeRMFLen(pditem : PDRAGITEM) : ULONG;[SYSTEM];
 | 
						|
    function DrgQueryStrName(hstr : HSTR;cbBuffer : ULONG;pBuffer : PSZ) : ULONG;[SYSTEM];
 | 
						|
    function DrgQueryStrNameLen(hstr : HSTR) : ULONG;[SYSTEM];
 | 
						|
    function DrgQueryTrueType(pditem : PDRAGITEM;cbBuffer : ULONG;pBuffer : PSZ) : BOOL;[SYSTEM];
 | 
						|
    function DrgQueryTrueTypeLen(pditem : PDRAGITEM) : ULONG;[SYSTEM];
 | 
						|
    function DrgSendTransferMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
 | 
						|
    function DrgSetDragitem(pdinfo : PDRAGINFO;pditem : PDRAGITEM;cbBuffer : ULONG;iItem : ULONG) : BOOL;[SYSTEM];
 | 
						|
    function DrgSetDragImage(pdinfo : PDRAGINFO;pdimg : PDRAGIMAGE;cdimg : ULONG;pRsvd : PVOID) : BOOL;[SYSTEM];
 | 
						|
    function DrgVerifyTypeSet(pditem : PDRAGITEM;pszType : PSZ;cbMatch : ULONG;pszMatch : PSZ) : BOOL;[SYSTEM];
 | 
						|
    function DrgAccessDraginfo(pdinfo : PDRAGINFO) : BOOL;[SYSTEM];
 | 
						|
    function DrgAddStrHandle(psz : PSZ) : HSTR;[SYSTEM];
 | 
						|
    function DrgDeleteDraginfoStrHandles(pdinfo : PDRAGINFO) : BOOL;[SYSTEM];
 | 
						|
    function DrgDeleteStrHandle(hstr : HSTR) : BOOL;[SYSTEM];
 | 
						|
    function DrgFreeDraginfo(pdinfo : PDRAGINFO) : BOOL;[SYSTEM];
 | 
						|
    function DrgFreeDragtransfer(pdxfer : PDRAGTRANSFER) : BOOL;[SYSTEM];
 | 
						|
    function DrgGetPS(hwnd : HWND) : HPS;[SYSTEM];
 | 
						|
    function DrgPushDraginfo(pdinfo : PDRAGINFO;hwndDest : HWND) : BOOL;[SYSTEM];
 | 
						|
    function DrgReleasePS(hps : HPS) : BOOL;[SYSTEM];
 | 
						|
    function DrgSetDragPointer(pdinfo : PDRAGINFO;hptr : HPOINTER) : BOOL;[SYSTEM];
 | 
						|
    function DrgVerifyNativeRMF(pditem : PDRAGITEM;pszRMF : PSZ) : BOOL;[SYSTEM];
 | 
						|
    function DrgVerifyRMF(pditem : PDRAGITEM;pszMech : PSZ;pszFmt : PSZ) : BOOL;[SYSTEM];
 | 
						|
    function DrgVerifyTrueType(pditem : PDRAGITEM;pszType : PSZ) : BOOL;[SYSTEM];
 | 
						|
    function DrgVerifyType(pditem : PDRAGITEM;pszType : PSZ) : BOOL;[SYSTEM];
 | 
						|
  
 | 
						|
end.
 |