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