pmstddlg.pas 40 KB

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