pmstddlg.pas 40 KB

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