home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / RICHEDIT.PAS < prev    next >
Pascal/Delphi Source File  |  1997-02-28  |  11KB  |  401 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Delphi Runtime Library                          }
  5. {       Windows 32bit API Interface Unit                }
  6. {                                                       }
  7. {       Copyright (c) 1996 Borland International        }
  8. {                                                       }
  9. {*******************************************************}
  10.  
  11. unit RichEdit;
  12.  
  13. interface
  14.  
  15. uses Messages, Windows;
  16.  
  17. type
  18.   TCHAR = Char;
  19.   {$nonamespace TCHAR}
  20.  
  21. const
  22.   cchTextLimitDefault    = 32767;
  23.  
  24. const
  25.   WM_CONTEXTMENU         = $007B;
  26.   WM_PRINTCLIENT         = $0318;
  27.  
  28. const
  29.   EM_GETLIMITTEXT        = 213;
  30.   EM_POSFROMCHAR         = 214;
  31.   EM_CHARFROMPOS         = 215;
  32.   EM_SCROLLCARET         = $00B7;
  33.   EM_CANPASTE            = WM_USER + 50;
  34.   EM_DISPLAYBAND         = WM_USER + 51;
  35.   EM_EXGETSEL            = WM_USER + 52;
  36.   EM_EXLIMITTEXT         = WM_USER + 53;
  37.   EM_EXLINEFROMCHAR      = WM_USER + 54;
  38.   EM_EXSETSEL            = WM_USER + 55;
  39.   EM_FINDTEXT            = WM_USER + 56;
  40.   EM_FORMATRANGE         = WM_USER + 57;
  41.   EM_GETCHARFORMAT       = WM_USER + 58;
  42.   EM_GETEVENTMASK        = WM_USER + 59;
  43.   EM_GETOLEINTERFACE     = WM_USER + 60;
  44.   EM_GETPARAFORMAT       = WM_USER + 61;
  45.   EM_GETSELTEXT          = WM_USER + 62;
  46.   EM_HIDESELECTION       = WM_USER + 63;
  47.   EM_PASTESPECIAL        = WM_USER + 64;
  48.   EM_REQUESTRESIZE       = WM_USER + 65;
  49.   EM_SELECTIONTYPE       = WM_USER + 66;
  50.   EM_SETBKGNDCOLOR       = WM_USER + 67;
  51.   EM_SETCHARFORMAT       = WM_USER + 68;
  52.   EM_SETEVENTMASK        = WM_USER + 69;
  53.   EM_SETOLECALLBACK      = WM_USER + 70;
  54.   EM_SETPARAFORMAT       = WM_USER + 71;
  55.   EM_SETTARGETDEVICE     = WM_USER + 72;
  56.   EM_STREAMIN            = WM_USER + 73;
  57.   EM_STREAMOUT           = WM_USER + 74;
  58.   EM_GETTEXTRANGE        = WM_USER + 75;
  59.   EM_FINDWORDBREAK       = WM_USER + 76;
  60.   EM_SETOPTIONS          = WM_USER + 77;
  61.   EM_GETOPTIONS          = WM_USER + 78;
  62.   EM_FINDTEXTEX          = WM_USER + 79;
  63.   EM_SETPUNCTUATION      = WM_USER + 100;
  64.   EM_GETPUNCTUATION      = WM_USER + 101;
  65.   EM_SETWORDWRAPMODE     = WM_USER + 102;
  66.   EM_GETWORDWRAPMODE     = WM_USER + 103;
  67.   EM_SETIMECOLOR         = WM_USER + 104;
  68.   EM_GETIMECOLOR         = WM_USER + 105;
  69.  
  70. const
  71.   EN_MSGFILTER           = $0700;
  72.   EN_REQUESTRESIZE       = $0701;
  73.   EN_SELCHANGE           = $0702;
  74.   EN_DROPFILES           = $0703;
  75.   EN_PROTECTED           = $0704;
  76.   EN_CORRECTTEXT         = $0705;
  77.   EN_STOPNOUNDO          = $0706;
  78.   EN_IMECHANGE           = $0707;
  79.   EN_SAVECLIPBOARD       = $0708;
  80.  
  81. const
  82.   ENM_NONE               = $00000000;
  83.   ENM_CHANGE             = $00000001;
  84.   ENM_UPDATE             = $00000002;
  85.   ENM_SCROLL             = $00000004;
  86.   ENM_KEYEVENTS          = $00010000;
  87.   ENM_MOUSEEVENTS        = $00020000;
  88.   ENM_REQUESTRESIZE      = $00040000;
  89.   ENM_SELCHANGE          = $00080000;
  90.   ENM_DROPFILES          = $00100000;
  91.   ENM_PROTECTED          = $00200000;
  92.   ENM_CORRECTTEXT        = $00400000;
  93.   ENM_IMECHANGE          = $00800000;
  94.  
  95. const
  96.   ES_SAVESEL             = $00008000;
  97.   ES_SUNKEN              = $00004000;
  98.   ES_DISABLENOSCROLL     = $00002000;
  99.   ES_SELECTIONBAR        = $01000000;
  100.   ES_VERTICAL            = $00400000;
  101.   ES_NOIME               = $00080000;
  102.   ES_SELFIME             = $00040000;
  103.  
  104. const
  105.   ECO_AUTOWORDSELECTION  = $00000001;
  106.   ECO_AUTOVSCROLL        = $00000040;
  107.   ECO_AUTOHSCROLL        = $00000080;
  108.   ECO_NOHIDESEL          = $00000100;
  109.   ECO_READONLY           = $00000800;
  110.   ECO_WANTRETURN         = $00001000;
  111.   ECO_SAVESEL            = $00008000;
  112.   ECO_SELECTIONBAR       = $01000000;
  113.   ECO_VERTICAL           = $00400000;
  114.   ECOOP_SET              = $0001;
  115.   ECOOP_OR               = $0002;
  116.   ECOOP_AND              = $0003;
  117.   ECOOP_XOR              = $0004;
  118.  
  119. const
  120.   WB_CLASSIFY            = 3;
  121.   WB_MOVEWORDLEFT        = 4;
  122.   WB_MOVEWORDRIGHT       = 5;
  123.   WB_LEFTBREAK           = 6;
  124.   WB_RIGHTBREAK          = 7;
  125.   WB_MOVEWORDPREV        = 4;
  126.   WB_MOVEWORDNEXT        = 5;
  127.   WB_PREVBREAK           = 6;
  128.   WB_NEXTBREAK           = 7;
  129.  
  130. const
  131.   PC_FOLLOWING           = 1;
  132.   PC_LEADING             = 2;
  133.   PC_OVERFLOW            = 3;
  134.   PC_DELIMITER           = 4;
  135.   WBF_WORDWRAP           = $010;
  136.   WBF_WORDBREAK          = $020;
  137.   WBF_OVERFLOW           = $040;
  138.   WBF_LEVEL1             = $080;
  139.   WBF_LEVEL2             = $100;
  140.   WBF_CUSTOM             = $200;
  141.   WBF_CLASS              = $0F;
  142.   WBF_ISWHITE            = $10;
  143.   WBF_BREAKLINE          = $20;
  144.   WBF_BREAKAFTER         = $40;
  145.  
  146. const
  147.   FT_MATCHCASE = 4;
  148.   FT_WHOLEWORD = 2;
  149.  
  150. type
  151.   _charformat = record
  152.     cbSize: UINT;
  153.     dwMask: Longint;
  154.     dwEffects: Longint;
  155.     yHeight: Longint;
  156.     yOffset: Longint;
  157.     crTextColor: TColorRef;
  158.     bCharSet: Byte;
  159.     bPitchAndFamily: Byte;
  160.          szFaceName: array[0..LF_FACESIZE - 1] of TCHAR;
  161.   end;
  162.   {$nonamespace _charformat}
  163.   TCharFormat = _charformat;
  164.  
  165. const
  166.   CFM_BOLD               = $00000001;
  167.   CFM_ITALIC             = $00000002;
  168.   CFM_UNDERLINE          = $00000004;
  169.   CFM_STRIKEOUT          = $00000008;
  170.   CFM_PROTECTED          = $00000010;
  171.   CFM_SIZE               = $80000000;
  172.   CFM_COLOR              = $40000000;
  173.   CFM_FACE               = $20000000;
  174.   CFM_OFFSET             = $10000000;
  175.   CFM_CHARSET            = $08000000;
  176.  
  177. const
  178.   CFE_BOLD               = $0001;
  179.   CFE_ITALIC             = $0002;
  180.   CFE_UNDERLINE          = $0004;
  181.   CFE_STRIKEOUT          = $0008;
  182.   CFE_PROTECTED          = $0010;
  183.   CFE_AUTOCOLOR          = $40000000;
  184.  
  185. const
  186.   yHeightCharPtsMost     = 1638;
  187.  
  188. const
  189.   SCF_SELECTION          = $0001;
  190.   SCF_WORD               = $0002;
  191.   SCF_DEFAULT            = $0000;       { set the default charformat or paraformat }
  192.   SCF_ALL                = $0004;       { not valid with SCF_SELECTION or SCF_WORD }
  193.   SCF_USEUIRULES         = $0008;       { modifier for SCF_SELECTION; says that }
  194.                                         { the format came from a toolbar, etc. and }
  195.                                         { therefore UI formatting rules should be }
  196.                                         { used instead of strictly formatting the }
  197.                                         { selection. }
  198.  
  199. type
  200.   _charrange = record
  201.     cpMin: Longint;
  202.     cpMax: LongInt;
  203.   end;
  204.   {$nonamespace _charrange}
  205.   TCharRange = _charrange;
  206.  
  207. type
  208.   TEditStreamCallBack = function (dwCookie: Longint; pbBuff: PByte; cb: Longint; var pcb: Longint): Longint;
  209.  
  210. type
  211.   _textrange = record
  212.     chrg: TCharRange;
  213.     lpstrText: PChar;
  214.   end;
  215.   {$nonamespace _textrange}
  216.   TTextRange = _textrange;
  217.  
  218. type
  219.   _editstream = record
  220.     dwCookie: Longint;
  221.     dwError: Longint;
  222.     pfnCallback: TEditStreamCallBack;
  223.   end;
  224.   {$nonamespace _editstream}
  225.   TEditStream = _editstream;
  226.  
  227. const
  228.   SF_TEXT                = $0001;
  229.   SF_RTF                 = $0002;
  230.   SF_RTFNOOBJS           = $0003;
  231.   SF_TEXTIZED            = $0004;
  232.  
  233. const
  234.   SFF_SELECTION          = $8000;
  235.   SFF_PLAINRTF           = $4000;
  236.  
  237. type
  238.   _findtext = record
  239.     chrg: TCharRange;
  240.     lpstrText: PChar;
  241.   end;
  242.   {$nonamespace _findtext}
  243.   TFindText = _findtext;
  244.  
  245.   _findtextexa = record
  246.     chrg: TCharRange;
  247.     lpstrText: PChar;
  248.     chrgText: TCharRange;
  249.   end;
  250.   {$nonamespace _findtextexa}
  251.   TFindTextEx = _findtextexa;
  252.  
  253. type
  254.   _formatrange = record
  255.     hdc: HDC;
  256.     hdcTarget: HDC;
  257.     rc: TRect;
  258.     rcPage: TRect;
  259.     chrg: TCharRange;
  260.   end;
  261.   {$nonamespace _formatrange}
  262.   TFormatRange = _formatrange;
  263.  
  264. const
  265.   MAX_TAB_STOPS          = 32;
  266.   lDefaultTab            = 720;
  267.  
  268. type
  269.   _paraformat = record
  270.     cbSize: UINT;
  271.     dwMask: Longint;
  272.     wNumbering: Word;
  273.     wReserved: Word;
  274.     dxStartIndent: Longint;
  275.     dxRightIndent: Longint;
  276.     dxOffset: Longint;
  277.     wAlignment: Word;
  278.     cTabCount: Smallint;
  279.     rgxTabs: array [0..MAX_TAB_STOPS - 1] of Longint;
  280.   end;
  281.   {$nonamespace _paraformat}
  282.   TParaFormat = _paraformat;
  283.  
  284. const
  285.   PFM_STARTINDENT        = $00000001;
  286.   PFM_RIGHTINDENT        = $00000002;
  287.   PFM_OFFSET             = $00000004;
  288.   PFM_ALIGNMENT          = $00000008;
  289.   PFM_TABSTOPS           = $00000010;
  290.   PFM_NUMBERING          = $00000020;
  291.   PFM_OFFSETINDENT       = $80000000;
  292.  
  293. const
  294.   PFN_BULLET             = $0001;
  295.  
  296. const
  297.   PFA_LEFT               = $0001;
  298.   PFA_RIGHT              = $0002;
  299.   PFA_CENTER             = $0003;
  300.  
  301. type
  302.   PMsgFilter = ^TMsgFilter;
  303.   _msgfilter = record
  304.     nmhdr: TNMHdr;
  305.     msg: UINT;
  306.     wParam: WPARAM;
  307.     lParam: LPARAM;
  308.   end;
  309.   {$nonamespace _msgfilter}
  310.   TMsgFilter = _msgfilter;
  311.  
  312.   PReqSize = ^TReqSize;
  313.   TReqSize = record
  314.     nmhdr: TNMHdr;
  315.     rc: TRect;
  316.   end;
  317.  
  318.   PSelChange = ^TSelChange;
  319.   _selchange = record
  320.     nmhdr: TNMHdr;
  321.     chrg: TCharRange;
  322.     seltyp: Word;
  323.   end;
  324.   {$nonamespace _selchange}
  325.   TSelChange = _selchange;
  326.  
  327. const
  328.   SEL_EMPTY              = $0000;
  329.   SEL_TEXT               = $0001;
  330.   SEL_OBJECT             = $0002;
  331.   SEL_MULTICHAR          = $0004;
  332.   SEL_MULTIOBJECT        = $0008;
  333.  
  334. type
  335.   TEndDropFiles = record
  336.     nmhdr: TNMHdr;
  337.     hDrop: THandle;
  338.     cp: Longint;
  339.     fProtected: Bool;
  340.   end;
  341.  
  342.   PENProtected = ^TENProtected;
  343.   _enprotected = record
  344.     nmhdr: TNMHdr;
  345.     msg: UINT;
  346.     wParam: WPARAM;
  347.     lParam: LPARAM;
  348.     chrg: TCharRange;
  349.   end;
  350.   {$nonamespace _enprotected}
  351.   TENProtected = _enprotected;
  352.  
  353.   PENSaveClipboard = ^TENSaveClipboard;
  354.   _ensaveclipboard = record
  355.     nmhdr: TNMHdr;
  356.     cObjectCount: Longint;
  357.     cch: Longint;
  358.   end;
  359.   {$nonamespace _ensaveclipboard}
  360.   TENSaveClipboard = _ensaveclipboard;
  361.  
  362.   _encorrecttext = record
  363.     nmhdr: TNMHdr;
  364.     chrg: TCharRange;
  365.     seltyp: Word;
  366.   end;
  367.   {$nonamespace _encorrecttext}
  368.   TENCorrectText = _encorrecttext;
  369.  
  370.   _punctuation = record
  371.     iSize: UINT;
  372.     szPunctuation: PChar;
  373.   end;
  374.   {$nonamespace _punctuation}
  375.   TPunctuation = _punctuation;
  376.  
  377.   _compcolor = record
  378.     crText: TColorRef;
  379.     crBackground: TColorRef;
  380.     dwEffects: Longint;
  381.   end;
  382.   {$nonamespace _compcolor}
  383.   TCompColor = _compcolor;
  384.  
  385. const
  386.   CF_RTF                 = 'Rich Text Format';
  387.   CF_RETEXTOBJ           = 'RichEdit Text and Objects';
  388.  
  389. type
  390.   _repastespecial = record
  391.     dwAspect: Longint;
  392.     dwParam: Longint;
  393.   end;
  394.   {$nonamespace _repastespecial}
  395.   TRepasteSpecial = _repastespecial;
  396.  
  397. implementation
  398.  
  399. end.
  400.  
  401.