pmstddlg.pas 37 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228
  1. unit pmstddlg;
  2. interface
  3. uses
  4. os2def,bsedos,pmwin,pmgpi;
  5. const
  6. FDS_CENTER = $00000001;
  7. FDS_CUSTOM = $00000002;
  8. FDS_FILTERUNION = $00000004;
  9. FDS_HELPBUTTON = $00000008;
  10. FDS_APPLYBUTTON = $00000010;
  11. FDS_PRELOAD_VOLINFO = $00000020;
  12. FDS_MODELESS = $00000040;
  13. FDS_INCLUDE_EAS = $00000080;
  14. FDS_OPEN_DIALOG = $00000100;
  15. FDS_SAVEAS_DIALOG = $00000200;
  16. FDS_MULTIPLESEL = $00000400;
  17. FDS_ENABLEFILELB = $00000800;
  18. FDS_EFSELECTION = 0;
  19. FDS_LBSELECTION = 1;
  20. FDS_SUCCESSFUL = 0;
  21. FDS_ERR_DEALLOCATE_MEMORY = 1;
  22. FDS_ERR_FILTER_TRUNC = 2;
  23. FDS_ERR_INVALID_DIALOG = 3;
  24. FDS_ERR_INVALID_DRIVE = 4;
  25. FDS_ERR_INVALID_FILTER = 5;
  26. FDS_ERR_INVALID_PATHFILE = 6;
  27. FDS_ERR_OUT_OF_MEMORY = 7;
  28. FDS_ERR_PATH_TOO_LONG = 8;
  29. FDS_ERR_TOO_MANY_FILE_TYPES = 9;
  30. FDS_ERR_INVALID_VERSION = 10;
  31. FDS_ERR_INVALID_CUSTOM_HANDLE = 11;
  32. FDS_ERR_DIALOG_LOAD_ERROR = 12;
  33. FDS_ERR_DRIVE_ERROR = 13;
  34. FDM_FILTER = WM_USER+40;
  35. FDM_VALIDATE = WM_USER+41;
  36. FDM_ERROR = WM_USER+42;
  37. type
  38. APSZ = array[0..0] of PSZ;
  39. PAPSZ = ^APSZ;
  40. FILEDLG = record
  41. cbSize : ULONG;
  42. fl : ULONG;
  43. ulUser : ULONG;
  44. lReturn : LONG;
  45. lSRC : LONG;
  46. pszTitle : PSZ;
  47. pszOKButton : PSZ;
  48. pfnDlgProc : PFNWP;
  49. pszIType : PSZ;
  50. papszITypeList : PAPSZ;
  51. pszIDrive : PSZ;
  52. papszIDriveList : PAPSZ;
  53. hMod : HMODULE;
  54. szFullFile : array[0..CCHMAXPATH-1] of CHAR;
  55. papszFQFilename : PAPSZ;
  56. ulFQFCount : ULONG;
  57. usDlgId : USHORT;
  58. x : SHORT;
  59. y : SHORT;
  60. sEAType : SHORT;
  61. end;
  62. PFILEDLG = ^FILEDLG;
  63. function WinFileDlg(hwndP : HWND;hwndO : HWND;pfild : PFILEDLG) : HWND;
  64. function WinDefFileDlgProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
  65. function WinFreeFileDlgList(papszFQFilename : PAPSZ) : BOOL;
  66. const
  67. DID_FILE_DIALOG = 256;
  68. DID_FILENAME_TXT = 257;
  69. DID_FILENAME_ED = 258;
  70. DID_DRIVE_TXT = 259;
  71. DID_DRIVE_CB = 260;
  72. DID_FILTER_TXT = 261;
  73. DID_FILTER_CB = 262;
  74. DID_DIRECTORY_TXT = 263;
  75. DID_DIRECTORY_LB = 264;
  76. DID_FILES_TXT = 265;
  77. DID_FILES_LB = 266;
  78. DID_HELP_PB = 267;
  79. DID_APPLY_PB = 268;
  80. DID_OK_PB = DID_OK;
  81. DID_CANCEL_PB = DID_CANCEL;
  82. IDS_FILE_ALL_FILES_SELECTOR = 1000;
  83. IDS_FILE_BACK_CUR_PATH = 1001;
  84. IDS_FILE_BACK_PREV_PATH = 1002;
  85. IDS_FILE_BACK_SLASH = 1003;
  86. IDS_FILE_BASE_FILTER = 1004;
  87. IDS_FILE_BLANK = 1005;
  88. IDS_FILE_COLON = 1006;
  89. IDS_FILE_DOT = 1007;
  90. IDS_FILE_DRIVE_LETTERS = 1008;
  91. IDS_FILE_FWD_CUR_PATH = 1009;
  92. IDS_FILE_FWD_PREV_PATH = 1010;
  93. IDS_FILE_FORWARD_SLASH = 1011;
  94. IDS_FILE_PARENT_DIR = 1012;
  95. IDS_FILE_Q_MARK = 1013;
  96. IDS_FILE_SPLAT = 1014;
  97. IDS_FILE_SPLAT_DOT = 1015;
  98. IDS_FILE_SAVEAS_TITLE = 1016;
  99. IDS_FILE_SAVEAS_FILTER_TXT = 1017;
  100. IDS_FILE_SAVEAS_FILENM_TXT = 1018;
  101. IDS_FILE_DUMMY_FILE_NAME = 1019;
  102. IDS_FILE_DUMMY_FILE_EXT = 1020;
  103. IDS_FILE_DUMMY_DRIVE = 1021;
  104. IDS_FILE_DUMMY_ROOT_DIR = 1022;
  105. IDS_FILE_PATH_PTR = 1023;
  106. IDS_FILE_VOLUME_PREFIX = 1024;
  107. IDS_FILE_VOLUME_SUFFIX = 1025;
  108. IDS_FILE_PATH_PTR2 = 1026;
  109. IDS_FILE_INVALID_CHARS = 1027;
  110. IDS_FILE_BAD_DRIVE_NAME = 1100;
  111. IDS_FILE_BAD_DRIVE_OR_PATH_NAME = 1101;
  112. IDS_FILE_BAD_FILE_NAME = 1102;
  113. IDS_FILE_BAD_FQF = 1103;
  114. IDS_FILE_BAD_NETWORK_NAME = 1104;
  115. IDS_FILE_BAD_SUB_DIR_NAME = 1105;
  116. IDS_FILE_DRIVE_NOT_AVAILABLE = 1106;
  117. IDS_FILE_FQFNAME_TOO_LONG = 1107;
  118. IDS_FILE_OPEN_DIALOG_NOTE = 1108;
  119. IDS_FILE_PATH_TOO_LONG = 1109;
  120. IDS_FILE_SAVEAS_DIALOG_NOTE = 1110;
  121. IDS_FILE_DRIVE_DISK_CHANGE = 1120;
  122. IDS_FILE_DRIVE_NOT_READY = 1122;
  123. IDS_FILE_DRIVE_LOCKED = 1123;
  124. IDS_FILE_DRIVE_NO_SECTOR = 1124;
  125. IDS_FILE_DRIVE_SOME_ERROR = 1125;
  126. IDS_FILE_DRIVE_INVALID = 1126;
  127. IDS_FILE_INSERT_DISK_NOTE = 1127;
  128. IDS_FILE_OK_WHEN_READY = 1128;
  129. type
  130. FONTDLG = record
  131. cbSize : ULONG;
  132. hpsScreen : HPS;
  133. hpsPrinter : HPS;
  134. pszTitle : PSZ;
  135. pszPreview : PSZ;
  136. pszPtSizeList : PSZ;
  137. pfnDlgProc : PFNWP;
  138. pszFamilyname : PSZ;
  139. fxPointSize : FIXED;
  140. fl : ULONG;
  141. flFlags : ULONG;
  142. flType : ULONG;
  143. flTypeMask : ULONG;
  144. flStyle : ULONG;
  145. flStyleMask : ULONG;
  146. clrFore : LONG;
  147. clrBack : LONG;
  148. ulUser : ULONG;
  149. lReturn : LONG;
  150. lSRC : LONG;
  151. lEmHeight : LONG;
  152. lXHeight : LONG;
  153. lExternalLeading : LONG;
  154. hMod : HMODULE;
  155. fAttrs : FATTRS;
  156. sNominalPointSize : SHORT;
  157. usWeight : USHORT;
  158. usWidth : USHORT;
  159. x : SHORT;
  160. y : SHORT;
  161. usDlgId : USHORT;
  162. usFamilyBufLen : USHORT;
  163. usReserved : USHORT;
  164. end;
  165. PFONTDLG = ^FONTDLG;
  166. const
  167. FNTS_CENTER = $00000001;
  168. FNTS_CUSTOM = $00000002;
  169. FNTS_OWNERDRAWPREVIEW = $00000004;
  170. FNTS_HELPBUTTON = $00000008;
  171. FNTS_APPLYBUTTON = $00000010;
  172. FNTS_RESETBUTTON = $00000020;
  173. FNTS_MODELESS = $00000040;
  174. FNTS_INITFROMFATTRS = $00000080;
  175. FNTS_BITMAPONLY = $00000100;
  176. FNTS_VECTORONLY = $00000200;
  177. FNTS_FIXEDWIDTHONLY = $00000400;
  178. FNTS_PROPORTIONALONLY = $00000800;
  179. FNTS_NOSYNTHESIZEDFONTS = $00001000;
  180. FNTF_NOVIEWSCREENFONTS = 1;
  181. FNTF_NOVIEWPRINTERFONTS = 2;
  182. FNTF_SCREENFONTSELECTED = 4;
  183. FNTF_PRINTERFONTSELECTED = 8;
  184. CLRC_FOREGROUND = 1;
  185. CLRC_BACKGROUND = 2;
  186. FNTI_BITMAPFONT = $0001;
  187. FNTI_VECTORFONT = $0002;
  188. FNTI_FIXEDWIDTHFONT = $0004;
  189. FNTI_PROPORTIONALFONT = $0008;
  190. FNTI_SYNTHESIZED = $0010;
  191. FNTI_DEFAULTLIST = $0020;
  192. FNTI_FAMILYNAME = $0100;
  193. FNTI_STYLENAME = $0200;
  194. FNTI_POINTSIZE = $0400;
  195. FNTS_SUCCESSFUL = 0;
  196. FNTS_ERR_INVALID_DIALOG = 3;
  197. FNTS_ERR_ALLOC_SHARED_MEM = 4;
  198. FNTS_ERR_INVALID_PARM = 5;
  199. FNTS_ERR_OUT_OF_MEMORY = 7;
  200. FNTS_ERR_INVALID_VERSION = 10;
  201. FNTS_ERR_DIALOG_LOAD_ERROR = 12;
  202. FNTM_FACENAMECHANGED = WM_USER+50;
  203. FNTM_POINTSIZECHANGED = WM_USER+51;
  204. FNTM_STYLECHANGED = WM_USER+52;
  205. FNTM_COLORCHANGED = WM_USER+53;
  206. FNTM_UPDATEPREVIEW = WM_USER+54;
  207. FNTM_FILTERLIST = WM_USER+55;
  208. type
  209. STYLECHANGE = record
  210. usWeight : USHORT;
  211. usWeightOld : USHORT;
  212. usWidth : USHORT;
  213. usWidthOld : USHORT;
  214. flType : ULONG;
  215. flTypeOld : ULONG;
  216. flTypeMask : ULONG;
  217. flTypeMaskOld : ULONG;
  218. flStyle : ULONG;
  219. flStyleOld : ULONG;
  220. flStyleMask : ULONG;
  221. flStyleMaskOld : ULONG;
  222. end;
  223. PSTYLECHANGE = ^STYLECHANGE;
  224. function WinFontDlg(hwndP : HWND;hwndO : HWND;pfntd : PFONTDLG) : HWND;
  225. function WinDefFontDlgProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
  226. const
  227. DID_FONT_DIALOG = 300;
  228. DID_NAME = 301;
  229. DID_STYLE = 302;
  230. DID_DISPLAY_FILTER = 303;
  231. DID_PRINTER_FILTER = 304;
  232. DID_SIZE = 305;
  233. DID_SAMPLE = 306;
  234. DID_OUTLINE = 307;
  235. DID_UNDERSCORE = 308;
  236. DID_STRIKEOUT = 309;
  237. DID_HELP_BUTTON = 310;
  238. DID_APPLY_BUTTON = 311;
  239. DID_RESET_BUTTON = 312;
  240. DID_OK_BUTTON = DID_OK;
  241. DID_CANCEL_BUTTON = DID_CANCEL;
  242. DID_NAME_PREFIX = 313;
  243. DID_STYLE_PREFIX = 314;
  244. DID_SIZE_PREFIX = 315;
  245. DID_SAMPLE_GROUPBOX = 316;
  246. DID_EMPHASIS_GROUPBOX = 317;
  247. IDS_FONT_SAMPLE = 350;
  248. IDS_FONT_BLANK = 351;
  249. IDS_FONT_KEY_0 = 352;
  250. IDS_FONT_KEY_9 = 353;
  251. IDS_FONT_KEY_SEP = 354;
  252. IDS_FONT_DISP_ONLY = 355;
  253. IDS_FONT_PRINTER_ONLY = 356;
  254. IDS_FONT_COMBINED = 357;
  255. IDS_FONT_WEIGHT1 = 358;
  256. IDS_FONT_WEIGHT2 = 359;
  257. IDS_FONT_WEIGHT3 = 360;
  258. IDS_FONT_WEIGHT4 = 361;
  259. IDS_FONT_WEIGHT5 = 362;
  260. IDS_FONT_WEIGHT6 = 363;
  261. IDS_FONT_WEIGHT7 = 364;
  262. IDS_FONT_WEIGHT8 = 365;
  263. IDS_FONT_WEIGHT9 = 366;
  264. IDS_FONT_WIDTH1 = 367;
  265. IDS_FONT_WIDTH2 = 368;
  266. IDS_FONT_WIDTH3 = 369;
  267. IDS_FONT_WIDTH4 = 370;
  268. IDS_FONT_WIDTH5 = 371;
  269. IDS_FONT_WIDTH6 = 372;
  270. IDS_FONT_WIDTH7 = 373;
  271. IDS_FONT_WIDTH8 = 374;
  272. IDS_FONT_WIDTH9 = 375;
  273. IDS_FONT_OPTION0 = 376;
  274. IDS_FONT_OPTION1 = 377;
  275. IDS_FONT_OPTION2 = 378;
  276. IDS_FONT_OPTION3 = 379;
  277. IDS_FONT_POINT_SIZE_LIST = 380;
  278. SPBS_ALLCHARACTERS = $00000000;
  279. SPBS_NUMERICONLY = $00000001;
  280. SPBS_READONLY = $00000002;
  281. SPBS_MASTER = $00000010;
  282. SPBS_SERVANT = $00000000;
  283. SPBS_JUSTDEFAULT = $00000000;
  284. SPBS_JUSTLEFT = $00000008;
  285. SPBS_JUSTRIGHT = $00000004;
  286. SPBS_JUSTCENTER = $0000000C;
  287. SPBS_NOBORDER = $00000020;
  288. SPBS_FASTSPIN = $00000100;
  289. SPBS_PADWITHZEROS = $00000080;
  290. SPBN_UPARROW = $20A;
  291. SPBN_DOWNARROW = $20B;
  292. SPBN_ENDSPIN = $20C;
  293. SPBN_CHANGE = $20D;
  294. SPBN_SETFOCUS = $20E;
  295. SPBN_KILLFOCUS = $20F;
  296. SPBM_OVERRIDESETLIMITS = $200;
  297. SPBM_QUERYLIMITS = $201;
  298. SPBM_SETTEXTLIMIT = $202;
  299. SPBM_SPINUP = $203;
  300. SPBM_SPINDOWN = $204;
  301. SPBM_QUERYVALUE = $205;
  302. SPBQ_UPDATEIFVALID = 0;
  303. SPBQ_ALWAYSUPDATE = 1;
  304. SPBQ_DONOTUPDATE = 3;
  305. SPBM_SETARRAY = $206;
  306. SPBM_SETLIMITS = $207;
  307. SPBM_SETCURRENTVALUE = $208;
  308. SPBM_SETMASTER = $209;
  309. PMERR_NOT_DRAGGING = $1f00;
  310. PMERR_ALREADY_DRAGGING = $1f01;
  311. MSGF_DRAG = $0010;
  312. WM_DRAGFIRST = $0310;
  313. WM_DRAGLAST = $032f;
  314. DM_DROP = $032f;
  315. DM_DRAGOVER = $032e;
  316. DM_DRAGLEAVE = $032d;
  317. DM_DROPHELP = $032c;
  318. DM_ENDCONVERSATION = $032b;
  319. DM_PRINT = $032a;
  320. DM_RENDER = $0329;
  321. DM_RENDERCOMPLETE = $0328;
  322. DM_RENDERPREPARE = $0327;
  323. DM_DRAGFILECOMPLETE = $0326;
  324. DM_EMPHASIZETARGET = $0325;
  325. DM_DRAGERROR = $0324;
  326. DM_FILERENDERED = $0323;
  327. DM_RENDERFILE = $0322;
  328. DM_DRAGOVERNOTIFY = $0321;
  329. DM_PRINTOBJECT = $0320;
  330. DM_DISCARDOBJECT = $031f;
  331. DRT_ASM = 'Assembler Code';
  332. DRT_BASIC = 'BASIC Code';
  333. DRT_BINDATA = 'Binary Data';
  334. DRT_BITMAP = 'Bitmap';
  335. DRT_C = 'C Code';
  336. DRT_COBOL = 'COBOL Code';
  337. DRT_DLL = 'Dynamic Link Library';
  338. DRT_DOSCMD = 'DOS Command File';
  339. DRT_EXE = 'Executable';
  340. DRT_FORTRAN = 'FORTRAN Code';
  341. DRT_ICON = 'Icon';
  342. DRT_LIB = 'Library';
  343. DRT_METAFILE = 'Metafile';
  344. DRT_OS2CMD = 'OS/2 Command File';
  345. DRT_PASCAL = 'Pascal Code';
  346. DRT_RESOURCE = 'Resource File';
  347. DRT_TEXT = 'Plain Text';
  348. DRT_UNKNOWN = 'Unknown';
  349. DOR_NODROP = $0000;
  350. DOR_DROP = $0001;
  351. DOR_NODROPOP = $0002;
  352. DOR_NEVERDROP = $0003;
  353. DO_COPYABLE = $0001;
  354. DO_MOVEABLE = $0002;
  355. DO_LINKABLE = $0004;
  356. DC_OPEN = $0001;
  357. DC_REF = $0002;
  358. DC_GROUP = $0004;
  359. DC_CONTAINER = $0008;
  360. DC_PREPARE = $0010;
  361. DC_REMOVEABLEMEDIA = $0020;
  362. DO_DEFAULT = $BFFE;
  363. DO_UNKNOWN = $BFFF;
  364. DO_COPY = $0010;
  365. DO_MOVE = $0020;
  366. DO_LINK = $0018;
  367. DO_CREATE = $0040;
  368. DMFL_TARGETSUCCESSFUL = $0001;
  369. DMFL_TARGETFAIL = $0002;
  370. DMFL_NATIVERENDER = $0004;
  371. DMFL_RENDERRETRY = $0008;
  372. DMFL_RENDEROK = $0010;
  373. DMFL_RENDERFAIL = $0020;
  374. DRG_ICON = $00000001;
  375. DRG_BITMAP = $00000002;
  376. DRG_POLYGON = $00000004;
  377. DRG_STRETCH = $00000008;
  378. DRG_TRANSPARENT = $00000010;
  379. DRG_CLOSED = $00000020;
  380. DME_IGNOREABORT = 1;
  381. DME_IGNORECONTINUE = 2;
  382. DME_REPLACE = 3;
  383. DME_RETRY = 4;
  384. DF_MOVE = $0001;
  385. DF_SOURCE = $0002;
  386. DF_SUCCESSFUL = $0004;
  387. DRR_SOURCE = 1;
  388. DRR_TARGET = 2;
  389. DRR_ABORT = 3;
  390. DFF_MOVE = 1;
  391. DFF_COPY = 2;
  392. DFF_DELETE = 3;
  393. type
  394. HSTR = LHANDLE;
  395. DRAGITEM = record
  396. hwndItem : HWND;
  397. ulItemID : ULONG;
  398. hstrType : HSTR;
  399. hstrRMF : HSTR;
  400. hstrContainerName : HSTR;
  401. hstrSourceName : HSTR;
  402. hstrTargetName : HSTR;
  403. cxOffset : SHORT;
  404. cyOffset : SHORT;
  405. fsControl : USHORT;
  406. fsSupportedOps : USHORT;
  407. end;
  408. PDRAGITEM = ^DRAGITEM;
  409. DRAGINFO = record
  410. cbDraginfo : ULONG;
  411. cbDragitem : USHORT;
  412. usOperation : USHORT;
  413. hwndSource : HWND;
  414. xDrop : SHORT;
  415. yDrop : SHORT;
  416. cditem : USHORT;
  417. usReserved : USHORT;
  418. end;
  419. PDRAGINFO = ^DRAGINFO;
  420. DRAGIMAGE = record
  421. cb : USHORT;
  422. cptl : USHORT;
  423. hImage : LHANDLE;
  424. sizlStretch : SIZEL;
  425. fl : ULONG;
  426. cxOffset : SHORT;
  427. cyOffset : SHORT;
  428. end;
  429. PDRAGIMAGE = ^DRAGIMAGE;
  430. DRAGTRANSFER = record
  431. cb : ULONG;
  432. hwndClient : HWND;
  433. pditem : PDRAGITEM;
  434. hstrSelectedRMF : HSTR;
  435. hstrRenderToName : HSTR;
  436. ulTargetInfo : ULONG;
  437. usOperation : USHORT;
  438. fsReply : USHORT;
  439. end;
  440. PDRAGTRANSFER = ^DRAGTRANSFER;
  441. RENDERFILE = record
  442. hwndDragFiles : HWND;
  443. hstrSource : HSTR;
  444. hstrTarget : HSTR;
  445. fMove : USHORT;
  446. usRsvd : USHORT;
  447. end;
  448. PRENDERFILE = ^RENDERFILE;
  449. function DrgAcceptDroppedFiles(hwnd : HWND;pszPath : PSZ;pszTypes : PSZ;ulDefaultOp : ULONG;ulRsvd : ULONG) : BOOL;
  450. function DrgAllocDraginfo(cditem : ULONG) : PDRAGINFO;
  451. function DrgAllocDragtransfer(cdxfer : ULONG) : PDRAGTRANSFER;
  452. function DrgDrag(hwndSource : HWND;pdinfo : PDRAGINFO;pdimg : PDRAGIMAGE;cdimg : ULONG;vkTerminate : LONG;pRsvd : PVOID) : HWND;
  453. type
  454. PPSZ = ^PSZ;
  455. function DrgDragFiles(hwnd : HWND;apszFiles : PPSZ;apszTypes : PPSZ;apszTargets : PPSZ;cFiles : ULONG;hptrDrag : HPOINTER;vkTerm : ULONG;fSourceRender : BOOL;ulRsvd : ULONG) : BOOL;
  456. function DrgPostTransferMsg(hwnd : HWND;msg : ULONG;pdxfer : PDRAGTRANSFER;fl : ULONG;ulRsvd : ULONG;fRetry : BOOL) : BOOL;
  457. function DrgQueryDragitem(pdinfo : PDRAGINFO;cbBuffer : ULONG;pditem : PDRAGITEM;iItem : ULONG) : BOOL;
  458. function DrgQueryDragitemCount(pdinfo : PDRAGINFO) : ULONG;
  459. function DrgQueryDragitemPtr(pdinfo : PDRAGINFO;i : ULONG) : PDRAGITEM;
  460. function DrgQueryNativeRMF(pditem : PDRAGITEM;cbBuffer : ULONG;pBuffer : PCHAR) : BOOL;
  461. function DrgQueryNativeRMFLen(pditem : PDRAGITEM) : ULONG;
  462. function DrgQueryStrName(hstr : HSTR;cbBuffer : ULONG;pBuffer : PSZ) : ULONG;
  463. function DrgQueryStrNameLen(hstr : HSTR) : ULONG;
  464. function DrgQueryTrueType(pditem : PDRAGITEM;cbBuffer : ULONG;pBuffer : PSZ) : BOOL;
  465. function DrgQueryTrueTypeLen(pditem : PDRAGITEM) : ULONG;
  466. function DrgSendTransferMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;
  467. function DrgSetDragitem(pdinfo : PDRAGINFO;pditem : PDRAGITEM;cbBuffer : ULONG;iItem : ULONG) : BOOL;
  468. function DrgSetDragImage(pdinfo : PDRAGINFO;pdimg : PDRAGIMAGE;cdimg : ULONG;pRsvd : PVOID) : BOOL;
  469. function DrgVerifyTypeSet(pditem : PDRAGITEM;pszType : PSZ;cbMatch : ULONG;pszMatch : PSZ) : BOOL;
  470. function DrgAccessDraginfo(pdinfo : PDRAGINFO) : BOOL;
  471. function DrgAddStrHandle(psz : PSZ) : HSTR;
  472. function DrgDeleteDraginfoStrHandles(pdinfo : PDRAGINFO) : BOOL;
  473. function DrgDeleteStrHandle(hstr : HSTR) : BOOL;
  474. function DrgFreeDraginfo(pdinfo : PDRAGINFO) : BOOL;
  475. function DrgFreeDragtransfer(pdxfer : PDRAGTRANSFER) : BOOL;
  476. function DrgGetPS(hwnd : HWND) : HPS;
  477. function DrgPushDraginfo(pdinfo : PDRAGINFO;hwndDest : HWND) : BOOL;
  478. function DrgReleasePS(hps : HPS) : BOOL;
  479. function DrgSetDragPointer(pdinfo : PDRAGINFO;hptr : HPOINTER) : BOOL;
  480. function DrgVerifyNativeRMF(pditem : PDRAGITEM;pszRMF : PSZ) : BOOL;
  481. function DrgVerifyRMF(pditem : PDRAGITEM;pszMech : PSZ;pszFmt : PSZ) : BOOL;
  482. function DrgVerifyTrueType(pditem : PDRAGITEM;pszType : PSZ) : BOOL;
  483. function DrgVerifyType(pditem : PDRAGITEM;pszType : PSZ) : BOOL;
  484. const
  485. PMERR_NOFILTERED_ITEMS = $1f02;
  486. PMERR_COMPARISON_FAILED = $1f03;
  487. PMERR_RECORD_CURRENTLY_INSERTED = $1f04;
  488. PMERR_FI_CURRENTLY_INSERTED = $1f05;
  489. CCS_EXTENDSEL = $00000001;
  490. CCS_MULTIPLESEL = $00000002;
  491. CCS_SINGLESEL = $00000004;
  492. CCS_AUTOPOSITION = $00000008;
  493. CCS_VERIFYPOINTERS = $00000010;
  494. CCS_READONLY = $00000020;
  495. CCS_MINIRECORDCORE = $00000040;
  496. CV_TEXT = $00000001;
  497. CV_NAME = $00000002;
  498. CV_ICON = $00000004;
  499. CV_DETAIL = $00000008;
  500. CV_FLOW = $00000010;
  501. CV_MINI = $00000020;
  502. CV_TREE = $00000040;
  503. CA_CONTAINERTITLE = $00000200;
  504. CA_TITLESEPARATOR = $00000400;
  505. CA_TITLELEFT = $00000800;
  506. CA_TITLERIGHT = $00001000;
  507. CA_TITLECENTER = $00002000;
  508. CA_OWNERDRAW = $00004000;
  509. CA_DETAILSVIEWTITLES = $00008000;
  510. CA_ORDEREDTARGETEMPH = $00010000;
  511. CA_DRAWBITMAP = $00020000;
  512. CA_DRAWICON = $00040000;
  513. CA_TITLEREADONLY = $00080000;
  514. CA_OWNERPAINTBACKGROUND = $00100000;
  515. CA_MIXEDTARGETEMPH = $00200000;
  516. CA_TREELINE = $00400000;
  517. CID_LEFTCOLTITLEWND = $7FF0;
  518. CID_RIGHTCOLTITLEWND = $7FF1;
  519. CID_BLANKBOX = $7FF2;
  520. CID_HSCROLL = $7FF3;
  521. CID_RIGHTHSCROLL = $7FF4;
  522. CID_CNRTITLEWND = $7FF5;
  523. CID_LEFTDVWND = $7FF7;
  524. CID_RIGHTDVWND = $7FF8;
  525. CID_VSCROLL = $7FF9;
  526. CID_MLE = $7FFA;
  527. type
  528. TREEITEMDESC = record
  529. hbmExpanded : HBITMAP;
  530. hbmCollapsed : HBITMAP;
  531. hptrExpanded : HPOINTER;
  532. hptrCollapsed : HPOINTER;
  533. end;
  534. PTREEITEMDESC = ^TREEITEMDESC;
  535. PFIELDINFO = ^FIELDINFO;
  536. FIELDINFO = record
  537. cb : ULONG;
  538. flData : ULONG;
  539. flTitle : ULONG;
  540. pTitleData : PVOID;
  541. offStruct : ULONG;
  542. pUserData : PVOID;
  543. pNextFieldInfo : PFIELDINFO;
  544. cxWidth : ULONG;
  545. end;
  546. PRECORDCORE = ^RECORDCORE;
  547. RECORDCORE = record
  548. cb : ULONG;
  549. flRecordAttr : ULONG;
  550. ptlIcon : POINTL;
  551. preccNextRecord : PRECORDCORE;
  552. pszIcon : PSZ;
  553. hptrIcon : HPOINTER;
  554. hptrMiniIcon : HPOINTER;
  555. hbmBitmap : HBITMAP;
  556. hbmMiniBitmap : HBITMAP;
  557. pTreeItemDesc : PTREEITEMDESC;
  558. pszText : PSZ;
  559. pszName : PSZ;
  560. pszTree : PSZ;
  561. end;
  562. PMINIRECORDCORE = ^MINIRECORDCORE;
  563. MINIRECORDCORE = record
  564. cb : ULONG;
  565. flRecordAttr : ULONG;
  566. ptlIcon : POINTL;
  567. preccNextRecord : PMINIRECORDCORE;
  568. pszIcon : PSZ;
  569. hptrIcon : HPOINTER;
  570. end;
  571. CNRINFO = record
  572. cb : ULONG;
  573. pSortRecord : PVOID;
  574. pFieldInfoLast : PFIELDINFO;
  575. pFieldInfoObject : PFIELDINFO;
  576. pszCnrTitle : PSZ;
  577. flWindowAttr : ULONG;
  578. ptlOrigin : POINTL;
  579. cDelta : ULONG;
  580. cRecords : ULONG;
  581. slBitmapOrIcon : SIZEL;
  582. slTreeBitmapOrIcon : SIZEL;
  583. hbmExpanded : HBITMAP;
  584. hbmCollapsed : HBITMAP;
  585. hptrExpanded : HPOINTER;
  586. hptrCollapsed : HPOINTER;
  587. cyLineSpacing : LONG;
  588. cxTreeIndent : LONG;
  589. cxTreeLine : LONG;
  590. cFields : ULONG;
  591. xVertSplitbar : LONG;
  592. end;
  593. PCNRINFO = ^CNRINFO;
  594. CDATE = record
  595. day : UCHAR;
  596. month : UCHAR;
  597. year : USHORT;
  598. end;
  599. PCDATE = ^CDATE;
  600. CTIME = record
  601. hours : UCHAR;
  602. minutes : UCHAR;
  603. seconds : UCHAR;
  604. ucReserved : UCHAR;
  605. end;
  606. PCTIME = ^CTIME;
  607. const
  608. CFA_LEFT = $00000001;
  609. CFA_RIGHT = $00000002;
  610. CFA_CENTER = $00000004;
  611. CFA_TOP = $00000008;
  612. CFA_VCENTER = $00000010;
  613. CFA_BOTTOM = $00000020;
  614. CFA_INVISIBLE = $00000040;
  615. CFA_BITMAPORICON = $00000100;
  616. CFA_SEPARATOR = $00000200;
  617. CFA_HORZSEPARATOR = $00000400;
  618. CFA_STRING = $00000800;
  619. CFA_OWNER = $00001000;
  620. CFA_DATE = $00002000;
  621. CFA_TIME = $00004000;
  622. CFA_FIREADONLY = $00008000;
  623. CFA_FITITLEREADONLY = $00010000;
  624. CFA_ULONG = $00020000;
  625. CRA_SELECTED = $00000001;
  626. CRA_TARGET = $00000002;
  627. CRA_CURSORED = $00000004;
  628. CRA_INUSE = $00000008;
  629. CRA_FILTERED = $00000010;
  630. CRA_DROPONABLE = $00000020;
  631. CRA_RECORDREADONLY = $00000040;
  632. CRA_EXPANDED = $00000080;
  633. CRA_COLLAPSED = $00000100;
  634. CM_ALLOCDETAILFIELDINFO = $0330;
  635. CM_ALLOCRECORD = $0331;
  636. CM_ARRANGE = $0332;
  637. CM_ERASERECORD = $0333;
  638. CM_FILTER = $0334;
  639. CM_FREEDETAILFIELDINFO = $0335;
  640. CM_FREERECORD = $0336;
  641. CM_HORZSCROLLSPLITWINDOW = $0337;
  642. CM_INSERTDETAILFIELDINFO = $0338;
  643. CM_INSERTRECORD = $0339;
  644. CM_INVALIDATEDETAILFIELDINFO = $033a;
  645. CM_INVALIDATERECORD = $033b;
  646. CM_PAINTBACKGROUND = $033c;
  647. CM_QUERYCNRINFO = $033d;
  648. CM_QUERYDETAILFIELDINFO = $033e;
  649. CM_QUERYDRAGIMAGE = $033f;
  650. CM_QUERYRECORD = $0340;
  651. CM_QUERYRECORDEMPHASIS = $0341;
  652. CM_QUERYRECORDFROMRECT = $0342;
  653. CM_QUERYRECORDRECT = $0343;
  654. CM_QUERYVIEWPORTRECT = $0344;
  655. CM_REMOVEDETAILFIELDINFO = $0345;
  656. CM_REMOVERECORD = $0346;
  657. CM_SCROLLWINDOW = $0347;
  658. CM_SEARCHSTRING = $0348;
  659. CM_SETCNRINFO = $0349;
  660. CM_SETRECORDEMPHASIS = $034a;
  661. CM_SORTRECORD = $034b;
  662. CM_OPENEDIT = $034c;
  663. CM_CLOSEEDIT = $034d;
  664. CM_COLLAPSETREE = $034e;
  665. CM_EXPANDTREE = $034f;
  666. CM_QUERYRECORDINFO = $0350;
  667. CN_DRAGAFTER = 101;
  668. CN_DRAGLEAVE = 102;
  669. CN_DRAGOVER = 103;
  670. CN_DROP = 104;
  671. CN_DROPHELP = 105;
  672. CN_ENTER = 106;
  673. CN_INITDRAG = 107;
  674. CN_EMPHASIS = 108;
  675. CN_KILLFOCUS = 109;
  676. CN_SCROLL = 110;
  677. CN_QUERYDELTA = 111;
  678. CN_SETFOCUS = 112;
  679. CN_REALLOCPSZ = 113;
  680. CN_BEGINEDIT = 114;
  681. CN_ENDEDIT = 115;
  682. CN_COLLAPSETREE = 116;
  683. CN_EXPANDTREE = 117;
  684. CN_HELP = 118;
  685. CN_CONTEXTMENU = 119;
  686. type
  687. CNRDRAGINIT = record
  688. hwndCnr : HWND;
  689. pRecord : PRECORDCORE;
  690. x : LONG;
  691. y : LONG;
  692. cx : LONG;
  693. cy : LONG;
  694. end;
  695. PCNRDRAGINIT = ^CNRDRAGINIT;
  696. FIELDINFOINSERT = record
  697. cb : ULONG;
  698. pFieldInfoOrder : PFIELDINFO;
  699. fInvalidateFieldInfo : ULONG;
  700. cFieldInfoInsert : ULONG;
  701. end;
  702. PFIELDINFOINSERT = ^FIELDINFOINSERT;
  703. RECORDINSERT = record
  704. cb : ULONG;
  705. pRecordOrder : PRECORDCORE;
  706. pRecordParent : PRECORDCORE;
  707. fInvalidateRecord : ULONG;
  708. zOrder : ULONG;
  709. cRecordsInsert : ULONG;
  710. end;
  711. PRECORDINSERT = ^RECORDINSERT;
  712. QUERYRECFROMRECT = record
  713. cb : ULONG;
  714. rect : RECTL;
  715. fsSearch : ULONG;
  716. end;
  717. PQUERYRECFROMRECT = ^QUERYRECFROMRECT;
  718. QUERYRECORDRECT = record
  719. cb : ULONG;
  720. pRecord : PRECORDCORE;
  721. fRightSplitWindow : ULONG;
  722. fsExtent : ULONG;
  723. end;
  724. PQUERYRECORDRECT = ^QUERYRECORDRECT;
  725. SEARCHSTRING = record
  726. cb : ULONG;
  727. pszSearch : PSZ;
  728. fsPrefix : ULONG;
  729. fsCaseSensitive : ULONG;
  730. usView : ULONG;
  731. end;
  732. PSEARCHSTRING = ^SEARCHSTRING;
  733. CNRDRAGINFO = record
  734. pDragInfo : PDRAGINFO;
  735. pRecord : PRECORDCORE;
  736. end;
  737. PCNRDRAGINFO = ^CNRDRAGINFO;
  738. NOTIFYRECORDEMPHASIS = record
  739. hwndCnr : HWND;
  740. pRecord : PRECORDCORE;
  741. fEmphasisMask : ULONG;
  742. end;
  743. PNOTIFYRECORDEMPHASIS = ^NOTIFYRECORDEMPHASIS;
  744. NOTIFYRECORDENTER = record
  745. hwndCnr : HWND;
  746. fKey : ULONG;
  747. pRecord : PRECORDCORE;
  748. end;
  749. PNOTIFYRECORDENTER = ^NOTIFYRECORDENTER;
  750. NOTIFYDELTA = record
  751. hwndCnr : HWND;
  752. fDelta : ULONG;
  753. end;
  754. PNOTIFYDELTA = ^NOTIFYDELTA;
  755. NOTIFYSCROLL = record
  756. hwndCnr : HWND;
  757. lScrollInc : LONG;
  758. fScroll : ULONG;
  759. end;
  760. PNOTIFYSCROLL = ^NOTIFYSCROLL;
  761. CNREDITDATA = record
  762. cb : ULONG;
  763. hwndCnr : HWND;
  764. pRecord : PRECORDCORE;
  765. pFieldInfo : PFIELDINFO;
  766. ppszText : PPSZ;
  767. cbText : ULONG;
  768. id : ULONG;
  769. end;
  770. PCNREDITDATA = ^CNREDITDATA;
  771. OWNERBACKGROUND = record
  772. hwnd : HWND;
  773. hps : HPS;
  774. rclBackground : RECTL;
  775. idWindow : LONG;
  776. end;
  777. POWNERBACKGROUND = ^OWNERBACKGROUND;
  778. CNRDRAWITEMINFO = record
  779. pRecord : PRECORDCORE;
  780. pFieldInfo : PFIELDINFO;
  781. end;
  782. PCNRDRAWITEMINFO = ^CNRDRAWITEMINFO;
  783. const
  784. CMA_TOP = $0001;
  785. CMA_BOTTOM = $0002;
  786. CMA_LEFT = $0004;
  787. CMA_RIGHT = $0008;
  788. CMA_FIRST = $0010;
  789. CMA_LAST = $0020;
  790. CMA_END = $0040;
  791. CMA_PREV = $0080;
  792. CMA_NEXT = $0100;
  793. CMA_HORIZONTAL = $0200;
  794. CMA_VERTICAL = $0400;
  795. CMA_ICON = $0800;
  796. CMA_TEXT = $1000;
  797. CMA_PARTIAL = $2000;
  798. CMA_COMPLETE = $4000;
  799. CMA_PARENT = $0001;
  800. CMA_FIRSTCHILD = $0002;
  801. CMA_LASTCHILD = $0004;
  802. CMA_CNRTITLE = $0001;
  803. CMA_DELTA = $0002;
  804. CMA_FLWINDOWATTR = $0004;
  805. CMA_LINESPACING = $0008;
  806. CMA_PFIELDINFOLAST = $0010;
  807. CMA_PSORTRECORD = $0020;
  808. CMA_PTLORIGIN = $0040;
  809. CMA_SLBITMAPORICON = $0080;
  810. CMA_XVERTSPLITBAR = $0100;
  811. CMA_PFIELDINFOOBJECT = $0200;
  812. CMA_TREEICON = $0400;
  813. CMA_TREEBITMAP = $0800;
  814. CMA_CXTREEINDENT = $1000;
  815. CMA_CXTREELINE = $2000;
  816. CMA_SLTREEBITMAPORICON = $4000;
  817. CMA_ITEMORDER = $0001;
  818. CMA_WINDOW = $0002;
  819. CMA_WORKSPACE = $0004;
  820. CMA_ZORDER = $0008;
  821. CMA_DELTATOP = $0001;
  822. CMA_DELTABOT = $0002;
  823. CMA_DELTAHOME = $0004;
  824. CMA_DELTAEND = $0008;
  825. CMA_NOREPOSITION = $0001;
  826. CMA_REPOSITION = $0002;
  827. CMA_TEXTCHANGED = $0004;
  828. CMA_ERASE = $0008;
  829. CMA_FREE = $0001;
  830. CMA_INVALIDATE = $0002;
  831. SLM_ADDDETENT = $0369;
  832. SLM_QUERYDETENTPOS = $036a;
  833. SLM_QUERYSCALETEXT = $036b;
  834. SLM_QUERYSLIDERINFO = $036c;
  835. SLM_QUERYTICKPOS = $036d;
  836. SLM_QUERYTICKSIZE = $036e;
  837. SLM_REMOVEDETENT = $036f;
  838. SLM_SETSCALETEXT = $0370;
  839. SLM_SETSLIDERINFO = $0371;
  840. SLM_SETTICKSIZE = $0372;
  841. SLN_CHANGE = 1;
  842. SLN_SLIDERTRACK = 2;
  843. SLN_SETFOCUS = 3;
  844. SLN_KILLFOCUS = 4;
  845. type
  846. SLDCDATA = record
  847. cbSize : ULONG;
  848. usScale1Increments : USHORT;
  849. usScale1Spacing : USHORT;
  850. usScale2Increments : USHORT;
  851. usScale2Spacing : USHORT;
  852. end;
  853. PSLDCDATA = ^SLDCDATA;
  854. const
  855. SLS_HORIZONTAL = $00000000;
  856. SLS_VERTICAL = $00000001;
  857. SLS_CENTER = $00000000;
  858. SLS_BOTTOM = $00000002;
  859. SLS_TOP = $00000004;
  860. SLS_LEFT = $00000002;
  861. SLS_RIGHT = $00000004;
  862. SLS_SNAPTOINCREMENT = $00000008;
  863. SLS_BUTTONSBOTTOM = $00000010;
  864. SLS_BUTTONSTOP = $00000020;
  865. SLS_BUTTONSLEFT = $00000010;
  866. SLS_BUTTONSRIGHT = $00000020;
  867. SLS_OWNERDRAW = $00000040;
  868. SLS_READONLY = $00000080;
  869. SLS_RIBBONSTRIP = $00000100;
  870. SLS_HOMEBOTTOM = $00000000;
  871. SLS_HOMETOP = $00000200;
  872. SLS_HOMELEFT = $00000000;
  873. SLS_HOMERIGHT = $00000200;
  874. SLS_PRIMARYSCALE1 = $00000000;
  875. SLS_PRIMARYSCALE2 = $00000400;
  876. SMA_SCALE1 = $0001;
  877. SMA_SCALE2 = $0002;
  878. SMA_SHAFTDIMENSIONS = $0000;
  879. SMA_SHAFTPOSITION = $0001;
  880. SMA_SLIDERARMDIMENSIONS = $0002;
  881. SMA_SLIDERARMPOSITION = $0003;
  882. SMA_RANGEVALUE = $0000;
  883. SMA_INCREMENTVALUE = $0001;
  884. SMA_SETALLTICKS = $FFFF;
  885. SDA_RIBBONSTRIP = $0001;
  886. SDA_SLIDERSHAFT = $0002;
  887. SDA_BACKGROUND = $0003;
  888. SDA_SLIDERARM = $0004;
  889. PMERR_UPDATE_IN_PROGRESS = $1f06;
  890. SLDERR_INVALID_PARAMETERS = -1;
  891. VM_QUERYITEM = $0375;
  892. VM_QUERYITEMATTR = $0376;
  893. VM_QUERYMETRICS = $0377;
  894. VM_QUERYSELECTEDITEM = $0378;
  895. VM_SELECTITEM = $0379;
  896. VM_SETITEM = $037a;
  897. VM_SETITEMATTR = $037b;
  898. VM_SETMETRICS = $037c;
  899. VN_SELECT = 120;
  900. VN_ENTER = 121;
  901. VN_DRAGLEAVE = 122;
  902. VN_DRAGOVER = 123;
  903. VN_DROP = 124;
  904. VN_DROPHELP = 125;
  905. VN_INITDRAG = 126;
  906. VN_SETFOCUS = 127;
  907. VN_KILLFOCUS = 128;
  908. VN_HELP = 129;
  909. type
  910. VSCDATA = record
  911. cbSize : ULONG;
  912. usRowCount : USHORT;
  913. usColumnCount : USHORT;
  914. end;
  915. PVSCDATA = ^VSCDATA;
  916. VSDRAGINIT = record
  917. hwnd : HWND;
  918. x : LONG;
  919. y : LONG;
  920. cx : LONG;
  921. cy : LONG;
  922. usRow : USHORT;
  923. usColumn : USHORT;
  924. end;
  925. PVSDRAGINIT = ^VSDRAGINIT;
  926. VSDRAGINFO = record
  927. pDragInfo : PDRAGINFO;
  928. usRow : USHORT;
  929. usColumn : USHORT;
  930. end;
  931. PVSDRAGINFO = ^VSDRAGINFO;
  932. VSTEXT = record
  933. pszItemText : PSZ;
  934. ulBufLen : ULONG;
  935. end;
  936. PVSTEXT = ^VSTEXT;
  937. const
  938. VS_BITMAP = $0001;
  939. VS_ICON = $0002;
  940. VS_TEXT = $0004;
  941. VS_RGB = $0008;
  942. VS_COLORINDEX = $0010;
  943. VS_BORDER = $0020;
  944. VS_ITEMBORDER = $0040;
  945. VS_SCALEBITMAPS = $0080;
  946. VS_RIGHTTOLEFT = $0100;
  947. VS_OWNERDRAW = $0200;
  948. VIA_BITMAP = $0001;
  949. VIA_ICON = $0002;
  950. VIA_TEXT = $0004;
  951. VIA_RGB = $0008;
  952. VIA_COLORINDEX = $0010;
  953. VIA_OWNERDRAW = $0020;
  954. VIA_DISABLED = $0040;
  955. VIA_DRAGGABLE = $0080;
  956. VIA_DROPONABLE = $0100;
  957. VMA_ITEMSIZE = $0001;
  958. VMA_ITEMSPACING = $0002;
  959. VDA_ITEM = $0001;
  960. VDA_ITEMBACKGROUND = $0002;
  961. VDA_SURROUNDING = $0003;
  962. VDA_BACKGROUND = $0004;
  963. VSERR_INVALID_PARAMETERS = -1;
  964. BKM_CALCPAGERECT = $0353;
  965. BKM_DELETEPAGE = $0354;
  966. BKM_INSERTPAGE = $0355;
  967. BKM_INVALIDATETABS = $0356;
  968. BKM_TURNTOPAGE = $0357;
  969. BKM_QUERYPAGECOUNT = $0358;
  970. BKM_QUERYPAGEID = $0359;
  971. BKM_QUERYPAGEDATA = $035a;
  972. BKM_QUERYPAGEWINDOWHWND = $035b;
  973. BKM_QUERYTABBITMAP = $035c;
  974. BKM_QUERYTABTEXT = $035d;
  975. BKM_SETDIMENSIONS = $035e;
  976. BKM_SETPAGEDATA = $035f;
  977. BKM_SETPAGEWINDOWHWND = $0360;
  978. BKM_SETSTATUSLINETEXT = $0361;
  979. BKM_SETTABBITMAP = $0362;
  980. BKM_SETTABTEXT = $0363;
  981. BKM_SETNOTEBOOKCOLORS = $0364;
  982. BKM_QUERYPAGESTYLE = $0365;
  983. BKM_QUERYSTATUSLINETEXT = $0366;
  984. BKN_PAGESELECTED = 130;
  985. BKN_NEWPAGESIZE = 131;
  986. BKN_HELP = 132;
  987. BKN_PAGEDELETED = 133;
  988. BKA_ALL = $0001;
  989. BKA_SINGLE = $0002;
  990. BKA_TAB = $0004;
  991. BKA_LAST = $0002;
  992. BKA_FIRST = $0004;
  993. BKA_NEXT = $0008;
  994. BKA_PREV = $0010;
  995. BKA_TOP = $0020;
  996. BKA_MAJORTAB = $0001;
  997. BKA_MINORTAB = $0002;
  998. BKA_PAGEBUTTON = $0100;
  999. BKA_STATUSTEXTON = $0001;
  1000. BKA_MAJOR = $0040;
  1001. BKA_MINOR = $0080;
  1002. BKA_AUTOPAGESIZE = $0100;
  1003. BKA_END = $0200;
  1004. BKA_TEXT = $0400;
  1005. BKA_BITMAP = $0800;
  1006. BKS_BACKPAGESBR = $00000001;
  1007. BKS_BACKPAGESBL = $00000002;
  1008. BKS_BACKPAGESTR = $00000004;
  1009. BKS_BACKPAGESTL = $00000008;
  1010. BKS_MAJORTABRIGHT = $00000010;
  1011. BKS_MAJORTABLEFT = $00000020;
  1012. BKS_MAJORTABTOP = $00000040;
  1013. BKS_MAJORTABBOTTOM = $00000080;
  1014. BKS_SQUARETABS = $00000000;
  1015. BKS_ROUNDEDTABS = $00000100;
  1016. BKS_POLYGONTABS = $00000200;
  1017. BKS_SOLIDBIND = $00000000;
  1018. BKS_SPIRALBIND = $00000400;
  1019. BKS_STATUSTEXTLEFT = $00000000;
  1020. BKS_STATUSTEXTRIGHT = $00001000;
  1021. BKS_STATUSTEXTCENTER = $00002000;
  1022. BKS_TABTEXTLEFT = $00000000;
  1023. BKS_TABTEXTRIGHT = $00004000;
  1024. BKS_TABTEXTCENTER = $00008000;
  1025. BKA_BACKGROUNDPAGECOLORINDEX = $0001;
  1026. BKA_BACKGROUNDPAGECOLOR = $0002;
  1027. BKA_BACKGROUNDMAJORCOLORINDEX = $0003;
  1028. BKA_BACKGROUNDMAJORCOLOR = $0004;
  1029. BKA_BACKGROUNDMINORCOLORINDEX = $0005;
  1030. BKA_BACKGROUNDMINORCOLOR = $0006;
  1031. BKA_FOREGROUNDMAJORCOLORINDEX = $0007;
  1032. BKA_FOREGROUNDMAJORCOLOR = $0008;
  1033. BKA_FOREGROUNDMINORCOLORINDEX = $0009;
  1034. BKA_FOREGROUNDMINORCOLOR = $000A;
  1035. BOOKERR_INVALID_PARAMETERS = -1;
  1036. type
  1037. BOOKTEXT = record
  1038. pString : PSZ;
  1039. textLen : ULONG;
  1040. end;
  1041. PBOOKTEXT = ^BOOKTEXT;
  1042. DELETENOTIFY = record
  1043. hwndBook : HWND;
  1044. hwndPage : HWND;
  1045. ulAppPageData : ULONG;
  1046. hbmTab : HBITMAP;
  1047. end;
  1048. PDELETENOTIFY = ^DELETENOTIFY;
  1049. PAGESELECTNOTIFY = record
  1050. hwndBook : HWND;
  1051. ulPageIdCur : ULONG;
  1052. ulPageIdNew : ULONG;
  1053. end;
  1054. PPAGESELECTNOTIFY = ^PAGESELECTNOTIFY;
  1055. implementation
  1056. function WinFileDlg(hwndP : HWND;hwndO : HWND;pfild : PFILEDLG) : HWND;[SYSTEM];
  1057. function WinDefFileDlgProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
  1058. function WinFreeFileDlgList(papszFQFilename : PAPSZ) : BOOL;[SYSTEM];
  1059. function WinFontDlg(hwndP : HWND;hwndO : HWND;pfntd : PFONTDLG) : HWND;[SYSTEM];
  1060. function WinDefFontDlgProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
  1061. function DrgAcceptDroppedFiles(hwnd : HWND;pszPath : PSZ;pszTypes : PSZ;ulDefaultOp : ULONG;ulRsvd : ULONG) : BOOL;[SYSTEM];
  1062. function DrgAllocDraginfo(cditem : ULONG) : PDRAGINFO;[SYSTEM];
  1063. function DrgAllocDragtransfer(cdxfer : ULONG) : PDRAGTRANSFER;[SYSTEM];
  1064. function DrgDrag(hwndSource : HWND;pdinfo : PDRAGINFO;pdimg : PDRAGIMAGE;cdimg : ULONG;vkTerminate : LONG;pRsvd : PVOID) : HWND;[SYSTEM];
  1065. function DrgDragFiles(hwnd : HWND;apszFiles : PPSZ;apszTypes : PPSZ;apszTargets : PPSZ;cFiles : ULONG;hptrDrag : HPOINTER;vkTerm : ULONG;fSourceRender : BOOL;ulRsvd : ULONG) : BOOL;[SYSTEM];
  1066. function DrgPostTransferMsg(hwnd : HWND;msg : ULONG;pdxfer : PDRAGTRANSFER;fl : ULONG;ulRsvd : ULONG;fRetry : BOOL) : BOOL;[SYSTEM];
  1067. function DrgQueryDragitem(pdinfo : PDRAGINFO;cbBuffer : ULONG;pditem : PDRAGITEM;iItem : ULONG) : BOOL;[SYSTEM];
  1068. function DrgQueryDragitemCount(pdinfo : PDRAGINFO) : ULONG;[SYSTEM];
  1069. function DrgQueryDragitemPtr(pdinfo : PDRAGINFO;i : ULONG) : PDRAGITEM;[SYSTEM];
  1070. function DrgQueryNativeRMF(pditem : PDRAGITEM;cbBuffer : ULONG;pBuffer : PCHAR) : BOOL;[SYSTEM];
  1071. function DrgQueryNativeRMFLen(pditem : PDRAGITEM) : ULONG;[SYSTEM];
  1072. function DrgQueryStrName(hstr : HSTR;cbBuffer : ULONG;pBuffer : PSZ) : ULONG;[SYSTEM];
  1073. function DrgQueryStrNameLen(hstr : HSTR) : ULONG;[SYSTEM];
  1074. function DrgQueryTrueType(pditem : PDRAGITEM;cbBuffer : ULONG;pBuffer : PSZ) : BOOL;[SYSTEM];
  1075. function DrgQueryTrueTypeLen(pditem : PDRAGITEM) : ULONG;[SYSTEM];
  1076. function DrgSendTransferMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM];
  1077. function DrgSetDragitem(pdinfo : PDRAGINFO;pditem : PDRAGITEM;cbBuffer : ULONG;iItem : ULONG) : BOOL;[SYSTEM];
  1078. function DrgSetDragImage(pdinfo : PDRAGINFO;pdimg : PDRAGIMAGE;cdimg : ULONG;pRsvd : PVOID) : BOOL;[SYSTEM];
  1079. function DrgVerifyTypeSet(pditem : PDRAGITEM;pszType : PSZ;cbMatch : ULONG;pszMatch : PSZ) : BOOL;[SYSTEM];
  1080. function DrgAccessDraginfo(pdinfo : PDRAGINFO) : BOOL;[SYSTEM];
  1081. function DrgAddStrHandle(psz : PSZ) : HSTR;[SYSTEM];
  1082. function DrgDeleteDraginfoStrHandles(pdinfo : PDRAGINFO) : BOOL;[SYSTEM];
  1083. function DrgDeleteStrHandle(hstr : HSTR) : BOOL;[SYSTEM];
  1084. function DrgFreeDraginfo(pdinfo : PDRAGINFO) : BOOL;[SYSTEM];
  1085. function DrgFreeDragtransfer(pdxfer : PDRAGTRANSFER) : BOOL;[SYSTEM];
  1086. function DrgGetPS(hwnd : HWND) : HPS;[SYSTEM];
  1087. function DrgPushDraginfo(pdinfo : PDRAGINFO;hwndDest : HWND) : BOOL;[SYSTEM];
  1088. function DrgReleasePS(hps : HPS) : BOOL;[SYSTEM];
  1089. function DrgSetDragPointer(pdinfo : PDRAGINFO;hptr : HPOINTER) : BOOL;[SYSTEM];
  1090. function DrgVerifyNativeRMF(pditem : PDRAGITEM;pszRMF : PSZ) : BOOL;[SYSTEM];
  1091. function DrgVerifyRMF(pditem : PDRAGITEM;pszMech : PSZ;pszFmt : PSZ) : BOOL;[SYSTEM];
  1092. function DrgVerifyTrueType(pditem : PDRAGITEM;pszType : PSZ) : BOOL;[SYSTEM];
  1093. function DrgVerifyType(pditem : PDRAGITEM;pszType : PSZ) : BOOL;[SYSTEM];
  1094. end.