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