pmstddlg.pas 39 KB

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