pmstddlg.pas 41 KB

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