richedit.pp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632
  1. { Converted by H2Pas from richedit.h }
  2. unit richedit;
  3. {$mode objfpc}
  4. {$calling stdcall}
  5. interface
  6. uses Messages, Windows;
  7. {$IFDEF FPC}
  8. {$PACKRECORDS C}
  9. {$ENDIF}
  10. {$ifdef UNICODE }
  11. const
  12. RICHEDIT_CLASS = 'RichEdit20W';
  13. {$else}
  14. const
  15. RICHEDIT_CLASS = 'RichEdit20A';
  16. {$endif}
  17. const
  18. RICHEDIT_CLASS10A = 'RICHEDIT';
  19. CF_RTF = 'Rich Text Format';
  20. CF_RTFNOOBJS = 'Rich Text Format Without Objects';
  21. CF_RETEXTOBJ = 'RichEdit Text and Objects';
  22. CFM_BOLD = 1;
  23. CFM_ITALIC = 2;
  24. CFM_UNDERLINE = 4;
  25. CFM_STRIKEOUT = 8;
  26. CFM_PROTECTED = 16;
  27. CFM_LINK = 32;
  28. CFM_SIZE = $80000000;
  29. CFM_COLOR = $40000000;
  30. CFM_FACE = $20000000;
  31. CFM_OFFSET = $10000000;
  32. CFM_CHARSET = $08000000;
  33. CFM_SUBSCRIPT = $00030000;
  34. CFM_SUPERSCRIPT = $00030000;
  35. CFM_EFFECTS = (((((CFM_BOLD or CFM_ITALIC) or CFM_UNDERLINE) or CFM_COLOR) or CFM_STRIKEOUT) or CFE_PROTECTED) or CFM_LINK;
  36. CFE_BOLD = 1;
  37. CFE_ITALIC = 2;
  38. CFE_UNDERLINE = 4;
  39. CFE_STRIKEOUT = 8;
  40. CFE_PROTECTED = 16;
  41. CFE_AUTOCOLOR = $40000000;
  42. CFE_SUBSCRIPT = $00010000;
  43. CFE_SUPERSCRIPT = $00020000;
  44. IMF_FORCENONE = 1;
  45. IMF_FORCEENABLE = 2;
  46. IMF_FORCEDISABLE = 4;
  47. IMF_CLOSESTATUSWINDOW = 8;
  48. IMF_VERTICAL = 32;
  49. IMF_FORCEACTIVE = 64;
  50. IMF_FORCEINACTIVE = 128;
  51. IMF_FORCEREMEMBER = 256;
  52. SEL_EMPTY = 0;
  53. SEL_TEXT = 1;
  54. SEL_OBJECT = 2;
  55. SEL_MULTICHAR = 4;
  56. SEL_MULTIOBJECT = 8;
  57. MAX_TAB_STOPS = 32;
  58. PFM_ALIGNMENT = 8;
  59. PFM_NUMBERING = 32;
  60. PFM_OFFSET = 4;
  61. PFM_OFFSETINDENT = $80000000;
  62. PFM_RIGHTINDENT = 2;
  63. PFM_STARTINDENT = 1;
  64. PFM_TABSTOPS = 16;
  65. PFM_BORDER = 2048;
  66. PFM_LINESPACING = 256;
  67. PFM_NUMBERINGSTART = 32768;
  68. PFM_NUMBERINGSTYLE = 8192;
  69. PFM_NUMBERINGTAB = 16384;
  70. PFM_SHADING = 4096;
  71. PFM_SPACEAFTER = 128;
  72. PFM_SPACEBEFORE = 64;
  73. PFM_STYLE = 1024;
  74. PFM_DONOTHYPHEN = 4194304;
  75. PFM_KEEP = 131072;
  76. PFM_KEEPNEXT = 262144;
  77. PFM_NOLINENUMBER = 1048576;
  78. PFM_NOWIDOWCONTROL = 2097152;
  79. PFM_PAGEBREAKBEFORE = 524288;
  80. PFM_RTLPARA = 65536;
  81. PFM_SIDEBYSIDE = 8388608;
  82. PFM_TABLE = 1073741824;
  83. PFN_BULLET = 1;
  84. PFE_DONOTHYPHEN = 64;
  85. PFE_KEEP = 2;
  86. PFE_KEEPNEXT = 4;
  87. PFE_NOLINENUMBER = 16;
  88. PFE_NOWIDOWCONTROL = 32;
  89. PFE_PAGEBREAKBEFORE = 8;
  90. PFE_RTLPARA = 1;
  91. PFE_SIDEBYSIDE = 128;
  92. PFE_TABLE = 16384;
  93. PFA_LEFT = 1;
  94. PFA_RIGHT = 2;
  95. PFA_CENTER = 3;
  96. PFA_JUSTIFY = 4;
  97. PFA_FULL_INTERWORD = 4;
  98. SF_TEXT = 1;
  99. SF_RTF = 2;
  100. SF_RTFNOOBJS = 3;
  101. SF_TEXTIZED = 4;
  102. SF_UNICODE = 16;
  103. SF_USECODEPAGE = 32;
  104. SF_NCRFORNONASCII = 64;
  105. SF_RTFVAL = $0700;
  106. SFF_PWD = $0800;
  107. SFF_KEEPDOCINFO = $1000;
  108. SFF_PERSISTVIEWSCALE = $2000;
  109. SFF_PLAINRTF = $4000;
  110. SFF_SELECTION = $8000;
  111. WB_CLASSIFY = 3;
  112. WB_MOVEWORDLEFT = 4;
  113. WB_MOVEWORDRIGHT = 5;
  114. WB_LEFTBREAK = 6;
  115. WB_RIGHTBREAK = 7;
  116. WB_MOVEWORDPREV = 4;
  117. WB_MOVEWORDNEXT = 5;
  118. WB_PREVBREAK = 6;
  119. WB_NEXTBREAK = 7;
  120. WBF_WORDWRAP = 16;
  121. WBF_WORDBREAK = 32;
  122. WBF_OVERFLOW = 64;
  123. WBF_LEVEL1 = 128;
  124. WBF_LEVEL2 = 256;
  125. WBF_CUSTOM = 512;
  126. ES_DISABLENOSCROLL = 8192;
  127. ES_EX_NOCALLOLEINIT = 16777216;
  128. ES_NOIME = 524288;
  129. ES_NOOLEDRAGDROP = 8;
  130. ES_SAVESEL = 32768;
  131. ES_SELECTIONBAR = 16777216;
  132. ES_SELFIME = 262144;
  133. ES_SUNKEN = 16384;
  134. ES_VERTICAL = 4194304;
  135. EM_CANPASTE = WM_USER+50;
  136. EM_DISPLAYBAND = WM_USER+51;
  137. EM_EXGETSEL = WM_USER+52;
  138. EM_EXLIMITTEXT = WM_USER+53;
  139. EM_EXLINEFROMCHAR = WM_USER+54;
  140. EM_EXSETSEL = WM_USER+55;
  141. EM_FINDTEXT = WM_USER+56;
  142. EM_FORMATRANGE = WM_USER+57;
  143. EM_GETCHARFORMAT = WM_USER+58;
  144. EM_GETEVENTMASK = WM_USER+59;
  145. EM_GETOLEINTERFACE = WM_USER+60;
  146. EM_GETPARAFORMAT = WM_USER+61;
  147. EM_GETSELTEXT = WM_USER+62;
  148. EM_HIDESELECTION = WM_USER+63;
  149. EM_PASTESPECIAL = WM_USER+64;
  150. EM_REQUESTRESIZE = WM_USER+65;
  151. EM_SELECTIONTYPE = WM_USER+66;
  152. EM_SETBKGNDCOLOR = WM_USER+67;
  153. EM_SETCHARFORMAT = WM_USER+68;
  154. EM_SETEVENTMASK = WM_USER+69;
  155. EM_SETOLECALLBACK = WM_USER+70;
  156. EM_SETPARAFORMAT = WM_USER+71;
  157. EM_SETTARGETDEVICE = WM_USER+72;
  158. EM_STREAMIN = WM_USER+73;
  159. EM_STREAMOUT = WM_USER+74;
  160. EM_GETTEXTRANGE = WM_USER+75;
  161. EM_FINDWORDBREAK = WM_USER+76;
  162. EM_SETOPTIONS = WM_USER+77;
  163. EM_GETOPTIONS = WM_USER+78;
  164. EM_FINDTEXTEX = WM_USER+79;
  165. EM_GETWORDBREAKPROCEX = WM_USER+80;
  166. EM_SETWORDBREAKPROCEX = WM_USER+81;
  167. { RichEdit 2.0 messages }
  168. EM_SETUNDOLIMIT = WM_USER+82;
  169. EM_REDO = WM_USER+84;
  170. EM_CANREDO = WM_USER+85;
  171. EM_GETUNDONAME = WM_USER+86;
  172. EM_GETREDONAME = WM_USER+87;
  173. EM_STOPGROUPTYPING = WM_USER+88;
  174. EM_SETTEXTMODE = WM_USER+89;
  175. EM_GETTEXTMODE = WM_USER+90;
  176. EM_AUTOURLDETECT = WM_USER+91;
  177. EM_GETAUTOURLDETECT = WM_USER+92;
  178. EM_SETPALETTE = WM_USER+93;
  179. EM_GETTEXTEX = WM_USER+94;
  180. EM_GETTEXTLENGTHEX = WM_USER+95;
  181. EM_SHOWSCROLLBAR = WM_USER+96;
  182. EM_SETTEXTEX = WM_USER+97;
  183. EM_SETPUNCTUATION = WM_USER+100;
  184. EM_GETPUNCTUATION = WM_USER+101;
  185. EM_SETWORDWRAPMODE = WM_USER+102;
  186. EM_GETWORDWRAPMODE = WM_USER+103;
  187. EM_SETIMECOLOR = WM_USER+104;
  188. EM_GETIMECOLOR = WM_USER+105;
  189. EM_SETIMEOPTIONS = WM_USER+106;
  190. EM_GETIMEOPTIONS = WM_USER+107;
  191. EM_SETLANGOPTIONS = WM_USER+120;
  192. EM_GETLANGOPTIONS = WM_USER+121;
  193. EM_GETIMECOMPMODE = WM_USER+122;
  194. EM_FINDTEXTW = WM_USER+123;
  195. EM_FINDTEXTEXW = WM_USER+124;
  196. EM_RECONVERSION = WM_USER+125;
  197. EM_SETBIDIOPTIONS = WM_USER+200;
  198. EM_GETBIDIOPTIONS = WM_USER+201;
  199. EM_SETTYPOGRAPHYOPTIONS = WM_USER+202;
  200. EM_GETTYPOGRAPHYOPTIONS = WM_USER+203;
  201. EM_SETEDITSTYLE = WM_USER+204;
  202. EM_GETEDITSTYLE = WM_USER+205;
  203. EM_GETSCROLLPOS = WM_USER+221;
  204. EM_SETSCROLLPOS = WM_USER+222;
  205. EM_SETFONTSIZE = WM_USER+223;
  206. EM_GETZOOM = WM_USER+224;
  207. EM_SETZOOM = WM_USER+225;
  208. EN_CORRECTTEXT = 1797;
  209. EN_DROPFILES = 1795;
  210. EN_IMECHANGE = 1799;
  211. EN_LINK = 1803;
  212. EN_MSGFILTER = 1792;
  213. EN_OLEOPFAILED = 1801;
  214. EN_PROTECTED = 1796;
  215. EN_REQUESTRESIZE = 1793;
  216. EN_SAVECLIPBOARD = 1800;
  217. EN_SELCHANGE = 1794;
  218. EN_STOPNOUNDO = 1798;
  219. ENM_NONE = 0;
  220. ENM_CHANGE = 1;
  221. ENM_CORRECTTEXT = 4194304;
  222. ENM_DRAGDROPDONE = 16;
  223. ENM_DROPFILES = 1048576;
  224. ENM_IMECHANGE = 8388608;
  225. ENM_KEYEVENTS = 65536;
  226. ENM_LANGCHANGE = 16777216;
  227. ENM_LINK = 67108864;
  228. ENM_MOUSEEVENTS = 131072;
  229. ENM_OBJECTPOSITIONS = 33554432;
  230. ENM_PROTECTED = 2097152;
  231. ENM_REQUESTRESIZE = 262144;
  232. ENM_SCROLL = 4;
  233. ENM_SCROLLEVENTS = 8;
  234. ENM_SELCHANGE = 524288;
  235. ENM_UPDATE = 2;
  236. ECO_AUTOWORDSELECTION = 1;
  237. ECO_AUTOVSCROLL = 64;
  238. ECO_AUTOHSCROLL = 128;
  239. ECO_NOHIDESEL = 256;
  240. ECO_READONLY = 2048;
  241. ECO_WANTRETURN = 4096;
  242. ECO_SAVESEL = $8000;
  243. ECO_SELECTIONBAR = $1000000;
  244. ECO_VERTICAL = $400000;
  245. ECOOP_SET = 1;
  246. ECOOP_OR = 2;
  247. ECOOP_AND = 3;
  248. ECOOP_XOR = 4;
  249. SCF_DEFAULT = 0;
  250. SCF_SELECTION = 1;
  251. SCF_WORD = 2;
  252. SCF_ALL = 4;
  253. SCF_USEUIRULES = 8;
  254. TM_PLAINTEXT = 1;
  255. TM_RICHTEXT = 2;
  256. TM_SINGLELEVELUNDO = 4;
  257. TM_MULTILEVELUNDO = 8;
  258. TM_SINGLECODEPAGE = 16;
  259. TM_MULTICODEPAGE = 32;
  260. GT_DEFAULT = 0;
  261. GT_USECRLF = 1;
  262. yHeightCharPtsMost = 1638;
  263. lDefaultTab = 720;
  264. FT_MATCHCASE = 4;
  265. FT_WHOLEWORD = 2;
  266. type
  267. _charformat = record
  268. cbSize : UINT;
  269. dwMask : DWORD;
  270. dwEffects : DWORD;
  271. yHeight : LONG;
  272. yOffset : LONG;
  273. crTextColor : COLORREF;
  274. bCharSet : BYTE;
  275. bPitchAndFamily : BYTE;
  276. szFaceName : array[0..(LF_FACESIZE)-1] of char;
  277. end;
  278. CHARFORMATA = _charformat;
  279. TCHARFORMATA = _charformat;
  280. _charformatw = record
  281. cbSize : UINT;
  282. dwMask : DWORD;
  283. dwEffects : DWORD;
  284. yHeight : LONG;
  285. yOffset : LONG;
  286. crTextColor : COLORREF;
  287. bCharSet : BYTE;
  288. bPitchAndFamily : BYTE;
  289. szFaceName : array[0..(LF_FACESIZE)-1] of WCHAR;
  290. end;
  291. CHARFORMATW = _charformatw;
  292. TCHARFORMATW = _charformatw;
  293. _charformat2a = record
  294. cbSize : UINT;
  295. dwMask : DWORD;
  296. dwEffects : DWORD;
  297. yHeight : LONG;
  298. yOffset : LONG;
  299. crTextColor : COLORREF;
  300. bCharSet : BYTE;
  301. bPitchAndFamily : BYTE;
  302. szFaceName : array[0..(LF_FACESIZE)-1] of char;
  303. wWeight : WORD;
  304. sSpacing : SHORT;
  305. crBackColor : COLORREF;
  306. lcid : LCID;
  307. dwReserved : DWORD;
  308. sStyle : SHORT;
  309. wKerning : WORD;
  310. bUnderlineType : BYTE;
  311. bAnimation : BYTE;
  312. bRevAuthor : BYTE;
  313. end;
  314. CHARFORMAT2A = _charformat2a;
  315. TCHARFORMAT2A = _charformat2a;
  316. _charformat2w = record
  317. cbSize : UINT;
  318. dwMask : DWORD;
  319. dwEffects : DWORD;
  320. yHeight : LONG;
  321. yOffset : LONG;
  322. crTextColor : COLORREF;
  323. bCharSet : BYTE;
  324. bPitchAndFamily : BYTE;
  325. szFaceName : array[0..(LF_FACESIZE)-1] of WCHAR;
  326. wWeight : WORD;
  327. sSpacing : SHORT;
  328. crBackColor : COLORREF;
  329. lcid : LCID;
  330. dwReserved : DWORD;
  331. sStyle : SHORT;
  332. wKerning : WORD;
  333. bUnderlineType : BYTE;
  334. bAnimation : BYTE;
  335. bRevAuthor : BYTE;
  336. end;
  337. CHARFORMAT2W = _charformat2w;
  338. TCHARFORMAT2W = _charformat2w;
  339. _charrange = record
  340. cpMin : LONG;
  341. cpMax : LONG;
  342. end;
  343. CHARRANGE = _charrange;
  344. TCHARRANGE = _charrange;
  345. _compcolor = record
  346. crText : COLORREF;
  347. crBackground : COLORREF;
  348. dwEffects : DWORD;
  349. end;
  350. COMPCOLOR = _compcolor;
  351. TCOMPCOLOR = _compcolor;
  352. EDITSTREAMCALLBACK = function (dwCookie:PDWORD; pbBuff:LPBYTE; cb:LONG; var pcb:LONG):DWORD;
  353. _editstream = record
  354. dwCookie : DWORD;
  355. dwError : DWORD;
  356. pfnCallback : EDITSTREAMCALLBACK;
  357. end;
  358. EDITSTREAM = _editstream;
  359. TEDITSTREAM = _editstream;
  360. _encorrecttext = record
  361. nmhdr : NMHDR;
  362. chrg : CHARRANGE;
  363. seltyp : WORD;
  364. end;
  365. ENCORRECTTEXT = _encorrecttext;
  366. TENCORRECTTEXT = _encorrecttext;
  367. _endropfiles = record
  368. nmhdr : NMHDR;
  369. hDrop : HANDLE;
  370. cp : LONG;
  371. fProtected : BOOL;
  372. end;
  373. ENDROPFILES = _endropfiles;
  374. TENDROPFILES = _endropfiles;
  375. _enlink = record
  376. nmhdr : NMHDR;
  377. msg : UINT;
  378. wParam : WPARAM;
  379. lParam : LPARAM;
  380. chrg : CHARRANGE;
  381. end;
  382. ENLINK = _enlink;
  383. TENLINK = _enlink;
  384. ENOLEOPFAILED = record
  385. nmhdr : NMHDR;
  386. iob : LONG;
  387. lOper : LONG;
  388. hr : HRESULT;
  389. end;
  390. _enprotected = record
  391. nmhdr : NMHDR;
  392. msg : UINT;
  393. wParam : WPARAM;
  394. lParam : LPARAM;
  395. chrg : CHARRANGE;
  396. end;
  397. ENPROTECTED = _enprotected;
  398. TENPROTECTED = _enprotected;
  399. LPENPROTECTED = ^_enprotected;
  400. _ensaveclipboard = record
  401. nmhdr : NMHDR;
  402. cObjectCount : LONG;
  403. cch : LONG;
  404. end;
  405. ENSAVECLIPBOARD = _ensaveclipboard;
  406. TENSAVECLIPBOARD = _ensaveclipboard;
  407. _findtextA = record
  408. chrg : CHARRANGE;
  409. lpstrText : LPSTR;
  410. end;
  411. FINDTEXTA = _findtextA;
  412. TFINDTEXTA = _findtextA;
  413. _findtextW = record
  414. chrg : CHARRANGE;
  415. lpstrText : LPWSTR;
  416. end;
  417. FINDTEXTW = _findtextW;
  418. TFINDTEXTW = _findtextW;
  419. _findtextexA = record
  420. chrg : CHARRANGE;
  421. lpstrText : LPSTR;
  422. chrgText : CHARRANGE;
  423. end;
  424. FINDTEXTEXA = _findtextexA;
  425. TFINDTEXTEXA = _findtextexA;
  426. _findtextexW = record
  427. chrg : CHARRANGE;
  428. lpstrText : LPWSTR;
  429. chrgText : CHARRANGE;
  430. end;
  431. FINDTEXTEXW = _findtextexW;
  432. TFINDTEXTEXW = _findtextexW;
  433. _formatrange = record
  434. hdc : HDC;
  435. hdcTarget : HDC;
  436. rc : RECT;
  437. rcPage : RECT;
  438. chrg : CHARRANGE;
  439. end;
  440. FORMATRANGE = _formatrange;
  441. TFORMATRANGE = _formatrange;
  442. _msgfilter = record
  443. nmhdr : NMHDR;
  444. msg : UINT;
  445. wParam : WPARAM;
  446. lParam : LPARAM;
  447. end;
  448. MSGFILTER = _msgfilter;
  449. TMSGFILTER = _msgfilter;
  450. TReqSize = record
  451. nmhdr: TNMHdr;
  452. rc: TRect;
  453. end;
  454. PReqSize = ^TReqSize;
  455. _paraformat = record
  456. cbSize : UINT;
  457. dwMask : DWORD;
  458. wNumbering : WORD;
  459. wReserved : WORD;
  460. dxStartIndent : LONG;
  461. dxRightIndent : LONG;
  462. dxOffset : LONG;
  463. wAlignment : WORD;
  464. cTabCount : SHORT;
  465. rgxTabs : array[0..(MAX_TAB_STOPS)-1] of LONG;
  466. end;
  467. PARAFORMAT = _paraformat;
  468. TParaFormat = _paraformat;
  469. _paraformat2 = record
  470. cbSize : UINT;
  471. dwMask : DWORD;
  472. wNumbering : WORD;
  473. wEffects : WORD;
  474. dxStartIndent : LONG;
  475. dxRightIndent : LONG;
  476. dxOffset : LONG;
  477. wAlignment : WORD;
  478. cTabCount : SHORT;
  479. rgxTabs : array[0..(MAX_TAB_STOPS)-1] of LONG;
  480. dySpaceBefore : LONG;
  481. dySpaceAfter : LONG;
  482. dyLineSpacing : LONG;
  483. sStype : SHORT;
  484. bLineSpacingRule : BYTE;
  485. bOutlineLevel : BYTE;
  486. wShadingWeight : WORD;
  487. wShadingStyle : WORD;
  488. wNumberingStart : WORD;
  489. wNumberingStyle : WORD;
  490. wNumberingTab : WORD;
  491. wBorderSpace : WORD;
  492. wBorderWidth : WORD;
  493. wBorders : WORD;
  494. end;
  495. PARAFORMAT2 = _paraformat2;
  496. TPARAFORMAT2 = _paraformat2;
  497. _selchange = record
  498. nmhdr : NMHDR;
  499. chrg : CHARRANGE;
  500. seltyp : WORD;
  501. end;
  502. SELCHANGE = _selchange;
  503. TSELCHANGE = _selchange;
  504. _textrange = record
  505. chrg : CHARRANGE;
  506. lpstrText : LPSTR;
  507. end;
  508. TEXTRANGEA = _textrange;
  509. TTEXTRANGEA = _textrange;
  510. _textrangew = record
  511. chrg : CHARRANGE;
  512. lpstrText : LPWSTR;
  513. end;
  514. TEXTRANGEW = _textrangew;
  515. TTEXTRANGEW = _textrangew;
  516. _reqresize = record
  517. nmhdr : NMHDR;
  518. rc : RECT;
  519. end;
  520. REQRESIZE = _reqresize;
  521. TREQRESIZE = _reqresize;
  522. _repastespecial = record
  523. dwAspect : DWORD;
  524. dwParam : DWORD;
  525. end;
  526. REPASTESPECIAL = _repastespecial;
  527. TREPASTESPECIAL = _repastespecial;
  528. _punctuation = record
  529. iSize : UINT;
  530. szPunctuation : LPSTR;
  531. end;
  532. PUNCTUATION = _punctuation;
  533. TPUNCTUATION = _punctuation;
  534. _gettextex = record
  535. cb : DWORD;
  536. flags : DWORD;
  537. codepage : UINT;
  538. lpDefaultChar : LPCSTR;
  539. lpUsedDefaultChar : LPBOOL;
  540. end;
  541. GETTEXTEX = _gettextex;
  542. TGETTEXTEX = _gettextex;
  543. EDITWORDBREAKPROCEX = function (pchText:pchar; cchText:LONG; bCharSet:BYTE; action:LONG):LONG;
  544. { Defines for EM_SETTYPOGRAPHYOPTIONS }
  545. const
  546. TO_ADVANCEDTYPOGRAPHY = 1;
  547. TO_SIMPLELINEBREAK = 2;
  548. { Defines for GETTEXTLENGTHEX }
  549. GTL_DEFAULT = 0;
  550. GTL_USECRLF = 1;
  551. GTL_PRECISE = 2;
  552. GTL_CLOSE = 4;
  553. GTL_NUMCHARS = 8;
  554. GTL_NUMBYTES = 16;
  555. type
  556. _gettextlengthex = record
  557. flags : DWORD;
  558. codepage : UINT;
  559. end;
  560. GETTEXTLENGTHEX = _gettextlengthex;
  561. {$ifdef UNICODE}
  562. CHARFORMAT = CHARFORMATW;
  563. TCHARFORMAT = CHARFORMATW;
  564. CHARFORMAT2 = CHARFORMAT2W;
  565. TCHARFORMAT2 = CHARFORMAT2W;
  566. FINDTEXT = FINDTEXTW;
  567. TFINDTEXT = FINDTEXTW;
  568. FINDTEXTEX = FINDTEXTEXW;
  569. TFINDTEXTEX = FINDTEXTEXW;
  570. TEXTRANGE = TEXTRANGEW;
  571. TTEXTRANGE = TEXTRANGEW;
  572. {$else}
  573. type
  574. CHARFORMAT = CHARFORMATA;
  575. TCHARFORMAT = CHARFORMATA;
  576. CHARFORMAT2 = CHARFORMAT2A;
  577. TCHARFORMAT2 = CHARFORMAT2A;
  578. FINDTEXT = FINDTEXTA;
  579. TFINDTEXT = FINDTEXTA;
  580. FINDTEXTEX = FINDTEXTEXA;
  581. TFINDTEXTEX = FINDTEXTEXA;
  582. TEXTRANGE = TEXTRANGEA;
  583. TTEXTRANGE = TEXTRANGEA;
  584. {$endif}
  585. implementation
  586. end.