home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 4 Unleashed / Visual_Basic_4_Unleashed_SAMS_Publishing_1995.iso / tedevkit / ter.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-09-11  |  27.6 KB  |  532 lines

  1. /******************************************************************************
  2.                TER Constants
  3. *******************************************************************************/
  4. #if defined (_WIN32)
  5.    #if !defined(WIN32)
  6.      #define WIN32
  7.    #endif
  8. #endif
  9. #if defined (WIN32)
  10.    #define TER_CLASS      "Ter32Class"
  11. #else
  12.    #define TER_CLASS      "TerClass"
  13. #endif
  14.  
  15. #define TER_DATA_VER       101
  16.  
  17. #define MAX_WIDTH          300
  18.  
  19. #define HILIGHT_OFF        0   
  20. #define HILIGHT_LINE       1   
  21. #define HILIGHT_CHAR       2   
  22.  
  23. #define WRAP_OFF           0        // suspend wrapping temporarily 
  24. #define WRAP_MIN           1        // re-wrap minimum number of lines 
  25. #define WRAP_PARA          2        // re-wrap all lines in the current paragraph 
  26. #define WRAP_WIN           3        // re-wrap all lines visible in the current window 
  27.  
  28. #define APPLY_IGNORE       0        // ignore text data 
  29. #define APPLY_MOD_CUR_LINE 1        // apply the text data to the current line 
  30. #define APPLY_BEF_CUR_LINE 2        // insert after the current line 
  31. #define APPLY_AFT_CUR_LINE 3        // insert after the current line 
  32.  
  33. #define SAVE_TER           0        // save in TER format
  34. #define SAVE_TEXT          1        // save in text format
  35. #define SAVE_TEXT_LINES    2        // text format with line breaks
  36. #define SAVE_RTF           3        // save in Rich Text Format
  37. #define SAVE_DEFAULT       4        // save in the format of the input file
  38.  
  39. #define ULINE              0x1   
  40. #define BOLD               0x2   
  41. #define ITALIC             0x4   
  42. #define STRIKE             0x8   
  43. #define SUPSCR             0x10  
  44. #define SUBSCR             0x20  
  45. #define HIDDEN             0x40  
  46. #define PICT               0x80  
  47. #define ULINED             0x100  
  48. #define PROTECT            0x200  
  49.  
  50. #define DEFAULT_PFMT       0x0
  51.  
  52. #define CENTER             0x1
  53. #define RIGHT_JUSTIFY      0x2
  54. #define DOUBLE_SPACE       0x4
  55. #define PARA_BOX_TOP       0x10
  56. #define PARA_BOX_BOT       0x20
  57. #define PARA_BOX_LEFT      0x40
  58. #define PARA_BOX_RIGHT     0x80
  59. #define PARA_BOX_DOUBLE    0x100
  60. #define PARA_BOX_THICK     0x200
  61. #define PARA_BOX_ATTRIB    0x3F0
  62. #define LEFT               0x400
  63. #define JUSTIFY            0x800
  64. #define PAGE_HDR           0x1000
  65. #define PAGE_FTR           0x2000
  66. #define PAGE_HDR_FTR       0x3000
  67.  
  68. #define PARA_BOX           0xF0
  69.                                                             
  70. #define TAB_LEFT            0
  71. #define TAB_RIGHT           1
  72. #define TAB_CENTER          2
  73. #define TAB_DECIMAL         3
  74.  
  75. #define TER_WORD_WRAP       0x1        // TER custom control styles
  76. #define TER_PRINT_VIEW      0x2
  77. #define TER_HSCROLL         0x4
  78. #define TER_VSCROLL         0x8
  79. #define TER_SHOW_STATUS     0x10
  80. #define TER_SHOW_RULER      0x20
  81. #define TER_BORDER_MARGIN   0x40
  82. #define TER_OUTPUT_RTF      0x80
  83. #define TER_USE_PARAMS      0x100
  84. #define TER_READ_ONLY       0x200
  85. #define TER_PAGE_MODE       0x400
  86. #define TER_SHOW_TOOLBAR    0x800
  87. #define TER_INVISIBLE       0x1000
  88. #define TER_NUM_STYLES      13
  89.  
  90. #define SRCH_SCROLL         0x1
  91. #define SRCH_SEARCH         0x2
  92. #define SRCH_REPLACE        0x4
  93. #define SRCH_RETRIEVE       0x8
  94. #define SRCH_CASE           0x10
  95. #define SRCH_WORD           0x20
  96.  
  97. #define ALIGN_BOT            0        // align picture bottom to base line
  98. #define ALIGN_MIDDLE         1        // center picture vertically to baseline
  99. #define ALIGN_TOP            2        // align picture top to base line
  100.  
  101. /******************************************************************************
  102.     WIN32 specific defines
  103. *******************************************************************************/
  104. #if defined (WIN32)
  105.    #define TER_HUGE
  106.    #define _export
  107. #else
  108.    #define TER_HUGE huge 
  109. #endif
  110.  
  111. /******************************************************************************
  112.     More constant definitions
  113. *******************************************************************************/
  114. typedef int (FAR PASCAL _export *VBX_CALLBACK)(HWND, UINT,WPARAM,LPARAM); 
  115.  
  116. /****************************************************************************
  117.    Instructions for packing the following structure
  118. *****************************************************************************/
  119. #ifndef RC_INVOKED
  120.    #pragma pack(1)
  121. #endif
  122.  
  123. /******************************************************************************
  124.    Argument Structure:
  125.    A set of control variables are passed by the user program to the 
  126.    'CreateTerWindow' routine. The variables are passed using the structure 
  127.    'arg_list',  as described below. The user program passes the POINTER to 
  128.    this structure.
  129.    This file must be included by your application module that calls the
  130.    TER routine.  
  131. *******************************************************************************/
  132. struct arg_list { 
  133.     int    x;         /* Initial x position of the editing window,
  134.                          you may specify CW_USEDEFAULT to use default values.*/
  135.     int    y;         // Initial y position of the editing window.
  136.     int    width;     /* Initial width of the window in device units,
  137.                          you may specify CW_USEDEFAULT to use default values.*/
  138.     int    height;    /* Initial height of the editing window.  When you
  139.                          use CW_USEDEFAULT for 'width', the 'height' is 
  140.                          ingnored.*/
  141.     long   LineLimit; /* Number of lines allowed in the editor window. 
  142.                          Set to 0 to have unlimited number of lines*/ 
  143.  
  144.     BOOL   WordWrap;  /* Set this flag to true (1),  if you wish to enable the
  145.                          word wrapping feature. */
  146.     BOOL   PrintView; /* Set this flag to true if you wish the lines on
  147.                          the screen to be wrapped current page margins.
  148.                          Otherwise, the lines are wrapped at the end of
  149.                          the window. This variable is ignored if 'WordWrap'
  150.                          is set to FALSE */                      
  151.     BOOL   PageMode;  /* Set this flag to true if you wish to edit one page
  152.                          at a time */
  153.     BOOL   ShowStatus;// show status line ?
  154.     BOOL   ShowMenu;  // show the menu bar ? 
  155.     BOOL   ShowHorBar;// show the horizonatal scroll bar 
  156.     BOOL   ShowVerBar;// show the vertical scroll bar 
  157.     BOOL   ruler;     // True to show the ruler
  158.     BOOL   ToolBar;   // True to show the tool bar
  159.     BOOL   UserCanClose;// TRUE allows the user to close the window 
  160.     BOOL   BorderMargins;// display margins around the window borders 
  161.     BOOL   ReadOnly;    // TRUE to create a read only session
  162.  
  163.     long   InitLine;  // Line number to position at the beginning. 
  164.     BYTE   InputType; /* This flag specifies the input type. If you wish to
  165.                          edit a file, set the input_type to 'F'. Conversely, 
  166.                          if you wish to pass the text for editing in a buffer,
  167.                          set this field to 'B'.*/
  168.  
  169.     BYTE   file[129];/*  If the input type is set to 'F',  specify the file
  170.                          name for editing in this field. */
  171.  
  172.                      // ===== Buffer input fields only =======
  173.     HGLOBAL hBuffer; /*  Specify the global memory handle containing the 
  174.                          input text data.  This handle becomes the property
  175.                          of the editor.  Your program must never try to lock
  176.                          or free this handle */
  177.     long BufferLen;  //  Buffer length in number of characters.                
  178.     BYTE delim;      /*  Line delimiter character.  This character must be 
  179.                          used to delimit individual lines within the 
  180.                          text buffer.  You have an option of using a 
  181.                          NULL, a carriage return or any other character of 
  182.                          your choice. We recommend a NULL character as the
  183.                          delimiter*/
  184.  
  185.     BYTE   padding1;  // This field is not used
  186.  
  187.     int    SaveFormat;// The format of the output file: SAVE_TER, SAVE_TEXT,
  188.                       // SAVE_RTF and SAVE_AS_INPUT
  189.  
  190.     HINSTANCE hInst;  //  Handle of the current instanaces. 
  191.     HWND   hParentWnd;// Handle to the parent window 
  192.     HWND   hTextWnd; //  Ter main window handle, will be filled by TER later  
  193.     DWORD  style;    //  Editor window style 
  194.     BYTE   FontTypeFace[30]; // Default type face, example: TmwRmn Courier, etc 
  195.     int    PointSize;// point size of the default font face 
  196.  
  197.     BOOL       open;     // TRUE indicates an open window
  198.     int        modified; // For internal use 
  199.     };
  200.  
  201.  
  202. /******************************************************************************
  203.    Field Data Structure:
  204.    This structure is used to retrieve (GetTerFields()) and set (SetTerFields())
  205.    control fields for a TER window.  
  206. *******************************************************************************/
  207. struct StrTerField { 
  208.    /* The following fields are read/write fields.  To update a field, 
  209.       you must retrieve the current values by calling the GetTerFields function.
  210.       Modify the fields that you wish to, and then call the SetTerFields
  211.       function to make the new value effective
  212.    **************************************************************************/
  213.       int      CurColW,           // current window column position                        
  214.                PaintEnabledW,     // FALSE=disables the painting and word wrapping 
  215.                WrapFlagW;         // wrap control, see WRAP_ constants 
  216.  
  217.       long     CurRowW,           // current window row position                           
  218.                BeginLineW,        // line number of the first window line                  
  219.                CurLineW;          // current line number in the file                       
  220.  
  221.       COLORREF TextBkColorW,      // background color for text 
  222.                StatusBkColorW,    // background color of the status line 
  223.                StatusColorW;      // foreground color of the status line 
  224.  
  225.       int      HilightTypeW,      // line or character block, see HILIGHT_ constants 
  226.                HilightBegColW,    // beginning col 
  227.                HilightEndColW;    // ending col 
  228.                
  229.       long     HilightBegRowW,    // beginning row 
  230.                HilightEndRowW;    // ending row 
  231.  
  232.       BOOL     StretchHilightW;   // TRUE = highlight being stretch 
  233.  
  234.  
  235.       BYTE     text[MAX_WIDTH];  // line text data, NULL terminated 
  236.       BYTE     font[MAX_WIDTH];  // font id for every character in the 'text' array 
  237.  
  238.       int      pfmtW;             // paragraph id of the current line 
  239.       int      LineLenW;          // length of the 'text' array 
  240.  
  241.       int      TextApply;        /* use this variable to specify how the 'text'
  242.                                     and 'font' data should be applied to the
  243.                                     current TER window, see APPLY_ constants */
  244.  
  245.       BOOL     ReclaimResourcesW;  // reuse unused font and para ids
  246.  
  247.       BOOL     ModifyProtectColorW,// modify the color or the protected text
  248.                LinkDblClickW,      // TRUE to activate hyperlink on double click, otherwise use single click
  249.                ShowProtectCaretW;  // TRUE to show caret on the protected text
  250.  
  251.       UINT     LinkStyleW;         // character style of the hyperlink phrase
  252.       COLORREF LinkColorW;         // color of the linked phrase
  253.  
  254.    /* The following are the read only fields.  TER will ignore any 
  255.       modification to these fields.
  256.    **************************************************************************/
  257.       HWND     hTerWndW;          // handle to the editor window 
  258.       HDC      hTerDCW;           // handle to TER class DC 
  259.       RECT     TerRectW,          // entire client window rectangal 
  260.                TerWinRectW;       // text window rectangal 
  261.  
  262.       long     TotalLinesW,       // total lines in the file                               
  263.                MouseLineW,        // text line position of mouse 
  264.                MaxColBlockW;      // biggest column block allowed 
  265.  
  266.       int      TotalPfmtsW,       // total paragraph ids in use by the current window 
  267.                TotalFontsW,       // Total font objects in use by the current window 
  268.              
  269.                WinWidthW,         // current window in columns                       
  270.                WinHeightW,        // current window height in number of rows         
  271.                TerWinOrgXW,       // window origin x co-ordinates 
  272.                MouseColW;         // text column position of mouse 
  273.  
  274.       BOOL     modified;          // data modified, user needs to select the 'save' option to save data 
  275.       BOOL     WordWrapW;         // TRUE when wordwrap turned on
  276.  
  277.       int      ParaLeftIndentW;   // paragraph left indent in twips
  278.       int      ParaRightIndentW;  // paragraph right indent in twips
  279.       int      ParaFirstIndentW;  // paragraph first line indent in twips
  280.       UINT     ParaFlagsW;        // paragraph flags,includes such flags as double spacing,centering, right justify etc 
  281.       int      ParaTabIdW;        // paragraph tab id, index into the tab table
  282.       int      ParaCellIdW;       // paragraph cell id that the paragraph belongs to
  283.       UINT     ParaShadingW;      // paragraph shading (0 to 10000)
  284.       int      ParaFrameIdW;      // paragraph frame id
  285.       int      ParaSpaceBeforeW;  // paragraph space before the paragraph in twips
  286.       int      ParaSpaceAfterW;   // paragraph space after the paragraph in twips 
  287.       int      ParaSpaceBetweenW; // paragraph space between the paragraph in twips 
  288.  
  289.       int      CurSectW;          // current section number
  290.  
  291.       int      LeftMarginW;       // section left margin in twips
  292.       int      RightMarginW;      // section right margin in twips
  293.       int      TopMarginW;        // section top margin in twips
  294.       int      BotMarginW;        // section bottom margin in twips
  295.       int      columnsW;          // number of columns in the current section
  296.  
  297.       int      CurPageW;          // current page number
  298.       int      TotalPagesW;       // total pages
  299.  
  300.       int      MouseXW;           // last mouse x position
  301.       int      MouseYW;           // last mouse y position
  302.     };
  303.  
  304. /******************************************************************************
  305.    Hyperlink Data Structure:
  306.    This structure is used to pass hyperlink data to your application.
  307. *******************************************************************************/
  308. struct StrHyperLink {
  309.       HWND    hWnd;               // Message windows
  310.       BYTE    code[MAX_WIDTH+2];  // hyperlink code
  311.       BYTE    text[MAX_WIDTH+2];  // hyperlink text
  312.       BOOL    DoubleClick;        // TRUE if mouse double clicked, otherwise single click
  313.     };
  314.  
  315. /******************************************************************************
  316.    Print request parameter structure
  317.    This structure is used to call the 'TerMergePrint' function to print
  318.    a buffer or file containing text data in supported formats (RTF, native TER,
  319.    and Ascii).
  320. *******************************************************************************/
  321. struct StrPrint { 
  322.     BYTE   InputType; /* This flag specifies the input type. If you wish to
  323.                          specify a disk file name, set the input_type to 'F'. 
  324.                          Conversely, if you wish to pass the text for in a buffer,
  325.                          set this field to 'B'.*/
  326.     BYTE   file[129];/*  If the input type is set to 'F',  specify the input 
  327.                          file name in this field. */
  328.  
  329.                      // ===== Buffer input fields only =======
  330.     HANDLE  hBuffer; /*  Specify the global memory handle containing the 
  331.                          input text data. */
  332.     long BufferLen;  //  Buffer length in number of characters.                
  333.     BYTE delim;      /*  Line delimiter character used to delimit the lines
  334.                          in the input buffer.  This character can be a CR or
  335.                          any other character. Not used for an RTF buffer */
  336.     BYTE   padding1;  // This field is not used
  337.  
  338.  
  339.     HDC    hDC;       // Printer or Window device context to print to.
  340.                       // If NULL, the default printer
  341.                       // device is opened.  The device context must be set to
  342.                       // the pixel mapping mode.
  343.     LPRECT rect;      // Printing area specified in mm (millimeter) units.
  344.                       // If NULL, the entire page with default margins is used.
  345.                       // The NULL value is not valid when printing to a 
  346.                       // window device context
  347.     long   StartPos;  // Starting character position.  Set to 0 to begin from
  348.                       // the first page.
  349.     BOOL   OnePage;   // Set to TRUE to print one (initial) page only.  The
  350.                       // printed page is NOT spooled to the printer.
  351.     long   NextPos;   // (OUTPUT) When OnePage is TRUE, the TerMergePrint function
  352.                       // returns the character where the next page should begin.
  353.                       // This value is set to 0 after the entire buffer is printed
  354.  
  355.                      // ===== Mail merge fields ==================
  356.     LPBYTE  MergeFields;      // pointer to a list of mail merge field names.  
  357.                              // The fields must be separated  by a '|' character. 
  358.                              // The list must be terminated by a NULL character
  359.     LPBYTE  MergeData;        // pointer to a list of mail merge data values.  
  360.                              // Each data vlue must be separated  by a '|' character. 
  361.                              // The list must be terminated by a NULL character
  362.                              // The number of data elements in the MergeData
  363.                              // MUST be same as the number of elements in the
  364.                              // MergeFields array
  365.  
  366.                      // ===== Other fields ==================
  367.     BOOL   PrintHiddenText;  // TRUE to print any hidden text
  368.     HINSTANCE hInst;         // Instanaces handle of your program
  369.     HWND   hParentWnd;       // A window handle in your application to receive mail merge messages
  370.  
  371.     int    NextY;            // (OUTPUT) The DLL returns the Y position on the paper
  372.     };
  373.  
  374. /****************************************************************************
  375.    Instructions to resume the default structure packing.
  376. *****************************************************************************/
  377. #ifndef RC_INVOKED
  378.    #pragma pack()
  379. #endif
  380.  
  381. /******************************************************************************
  382.                TER Messages
  383. *******************************************************************************/
  384.  
  385. /*******************************************************************************
  386.    TER_CLOSE:
  387.    Ter sends this message to the parent window (your application window)
  388.    before closing.  The wParam variables contains the handle of the TER
  389.    window.  lParam is not used.
  390.    
  391.    If your application is using a GlobalBuffer, you can retrieve the updated
  392.    buffer when receiving this message. Use the GetTerBuffer() function to
  393.    retrived the global handle to updated text data.
  394. *******************************************************************************/
  395. #define TER_CLOSE    (WM_USER)
  396.  
  397. /*******************************************************************************
  398.    TER_MODIFIED:
  399.    Ter sends this message to the parent window once when the editor text is 
  400.    modified. The wParam variable contains the handle of the TER window.
  401. *******************************************************************************/
  402. #define TER_MODIFIED (WM_USER+1)
  403.  
  404. /*******************************************************************************
  405.    TER_LINK:
  406.    Ter sends this message to the parent window when the user clicks on
  407.    the hyperlink text.
  408. *******************************************************************************/
  409. #define TER_LINK (WM_USER+2)
  410.  
  411. /*******************************************************************************
  412.    TER_MERGE:
  413.    Ter sends this message to the parent window to get the mail merge field
  414.    data for a field name.  The TerMergePrint function first checks the
  415.    supplied list of mail merge code.  Only if the required code is not
  416.    found in the input list, it sends this message.
  417.    The 'wParam' parameter contains the handle to the TER window, and
  418.    the 'lParam' parameter contains the pointer to the field name.
  419.    Your applicaton should return the pointer to the field text, or NULL if text not available.
  420. *******************************************************************************/
  421. #define TER_MERGE (WM_USER+3)
  422.  
  423. /*******************************************************************************
  424.    TER_NOT_SAVED:
  425.    Ter sends this message to the parent window (your application window)
  426.    if the user abandons the modifications.  
  427.    The wParam variables contains the handle of the TER window.  lParam is not used.
  428.    The TER_CLOSE message always follows this message.
  429. *******************************************************************************/
  430. #define TER_NOT_SAVED    (WM_USER+4)
  431.  
  432.  
  433. /******************************************************************************
  434.                      Editor Function Prototype
  435.    When calling TER from a C program, leave the TER_CPLUSPLUS symbol undefined.
  436.  
  437.    When calling TER from a C++ program, define the TER_CPLUSPLUS as following:
  438.  
  439.    #define TER_CPLUSPLUS extern "C"
  440.    #include "ter.h"
  441. *******************************************************************************/
  442. #ifndef TER_CPLUSPLUS
  443.    #if defined(__cplusplus) 
  444.       #define TER_CPLUSPLUS extern "C"
  445.    #else
  446.       #define TER_CPLUSPLUS
  447.    #endif
  448. #endif
  449.  
  450. TER_CPLUSPLUS HWND   WINAPI _export CreateTerWindow(struct arg_list far *);
  451. TER_CPLUSPLUS BOOL   WINAPI _export CloseTer(HWND,BOOL);
  452. TER_CPLUSPLUS HGLOBAL WINAPI _export GetTerBuffer(HWND, long far *);
  453. TER_CPLUSPLUS BOOL   WINAPI _export SetTerBuffer(HWND,HGLOBAL,long,LPBYTE,BOOL);
  454. TER_CPLUSPLUS BOOL   WINAPI _export GetTerFields(HWND,struct StrTerField far *);
  455. TER_CPLUSPLUS BOOL   WINAPI _export SetTerFields(HWND,struct StrTerField far *);
  456. TER_CPLUSPLUS BOOL   WINAPI _export InsertRtfBuf(HWND,BYTE TER_HUGE *,long,long,int,BOOL);
  457. TER_CPLUSPLUS BOOL   WINAPI _export SetTerFont(HWND,LPBYTE,BOOL);
  458. TER_CPLUSPLUS BOOL   WINAPI _export SetTerDefaultFont(HWND,LPBYTE,int,UINT,COLORREF,BOOL);
  459. TER_CPLUSPLUS BOOL   WINAPI _export SetTerPointSize(HWND,int,BOOL);
  460. TER_CPLUSPLUS BOOL   WINAPI _export SetTerCharStyle(HWND,UINT,BOOL,BOOL);
  461. TER_CPLUSPLUS BOOL   WINAPI _export SetTerColor(HWND,COLORREF,BOOL);
  462. TER_CPLUSPLUS BOOL   WINAPI _export SetTerBkColor(HWND,COLORREF,BOOL);
  463. TER_CPLUSPLUS BOOL   WINAPI _export InsertTerText(HWND,BYTE TER_HUGE *,BOOL);
  464. TER_CPLUSPLUS BOOL   WINAPI _export SelectTerText(HWND,long,int,long,int,BOOL);
  465. TER_CPLUSPLUS BOOL   WINAPI _export SetTerCursorPos(HWND,long,int,BOOL);
  466. TER_CPLUSPLUS BOOL   WINAPI _export GetTerCursorPos(HWND,long far *,int far *);
  467. TER_CPLUSPLUS BOOL   WINAPI _export SetTerParaFmt(HWND,UINT,BOOL,BOOL);
  468. TER_CPLUSPLUS BOOL   WINAPI _export ParaIndentTwips(HWND,int,int,int,BOOL);
  469. TER_CPLUSPLUS BOOL   WINAPI _export ParaLeftIndent(HWND,BOOL,BOOL);
  470. TER_CPLUSPLUS BOOL   WINAPI _export ParaRightIndent(HWND,BOOL,BOOL);
  471. TER_CPLUSPLUS BOOL   WINAPI _export ParaHangingIndent(HWND,BOOL,BOOL);
  472. TER_CPLUSPLUS BOOL   WINAPI _export ParaNormal(HWND,BOOL);
  473. TER_CPLUSPLUS BOOL   WINAPI _export DeselectTerText(HWND,BOOL);
  474. TER_CPLUSPLUS BOOL   WINAPI _export SetTab(HWND,int,int,BOOL);
  475. TER_CPLUSPLUS BOOL   WINAPI _export ClearTab(HWND,int,BOOL);
  476. TER_CPLUSPLUS BOOL   WINAPI _export ClearAllTabs(HWND,BOOL);
  477. TER_CPLUSPLUS BOOL   WINAPI _export TerMergeFields(HWND,LPBYTE,LPBYTE,BOOL); 
  478. TER_CPLUSPLUS BOOL   WINAPI _export TerMergePrint(struct StrPrint far *);
  479. TER_CPLUSPLUS BOOL   WINAPI _export TerMergePrintVB(struct StrPrint far *,LPRECT,LPBYTE,LPBYTE);
  480. TER_CPLUSPLUS BOOL   WINAPI _export TerPageBreak(HWND,BOOL);
  481. TER_CPLUSPLUS BOOL   WINAPI _export TerPrint(HWND,BOOL);
  482. TER_CPLUSPLUS BOOL   WINAPI _export TerPrintPreviewMode(HWND,BOOL);
  483. TER_CPLUSPLUS BOOL   WINAPI _export TerColBreak(HWND,BOOL);
  484. TER_CPLUSPLUS BOOL   WINAPI _export TerEnableRefresh(HWND,BOOL);
  485. TER_CPLUSPLUS BOOL   WINAPI _export TerLocateStyle(HWND,UINT,long far *,int far *,int far *);
  486. TER_CPLUSPLUS BOOL   WINAPI _export TerSectBreak(HWND,BOOL);
  487. TER_CPLUSPLUS BOOL   WINAPI _export TerSetModify(HWND,BOOL);
  488. TER_CPLUSPLUS BOOL   WINAPI _export TerSetOutputFormat(HWND,int);
  489. TER_CPLUSPLUS BOOL   WINAPI _export TerSetParaShading(HWND,int,BOOL);
  490. TER_CPLUSPLUS BOOL   WINAPI _export LoadTerControl(void);
  491. TER_CPLUSPLUS int    WINAPI _export GetTerLine(HWND,long,LPBYTE,LPBYTE);
  492. TER_CPLUSPLUS BOOL   WINAPI _export SetTerLine(HWND,long,LPBYTE,LPBYTE);
  493. TER_CPLUSPLUS BOOL   WINAPI _export GetFontInfo(HWND,int,LPBYTE,LPINT,UINT far *);
  494. TER_CPLUSPLUS BOOL   WINAPI _export SaveTerFile(HWND,LPBYTE);
  495. TER_CPLUSPLUS BOOL   WINAPI _export ReadTerFile(HWND,LPBYTE);
  496. TER_CPLUSPLUS BOOL   WINAPI _export TerGetTextColor(HWND,int,LPDWORD,LPDWORD);
  497. TER_CPLUSPLUS UINT   WINAPI _export TerMenuEnable(HWND,int);
  498. TER_CPLUSPLUS UINT   WINAPI _export TerMenuSelect(HWND,int);
  499. TER_CPLUSPLUS long   WINAPI _export TerRowColToAbs(HWND,long,int);
  500. TER_CPLUSPLUS void   WINAPI _export TerAbsToRowCol(HWND,long,long far *,int far *); 
  501. TER_CPLUSPLUS BOOL   WINAPI _export TerPrintPreview(HWND,HDC,RECT far *,int,BOOL);
  502. TER_CPLUSPLUS BOOL   WINAPI _export TerSetMargin(HWND,int,int,int,int,BOOL);
  503. TER_CPLUSPLUS BOOL   WINAPI _export TerSetReadOnly(HWND,BOOL);
  504. TER_CPLUSPLUS BOOL   WINAPI _export TerEnableSpeedKey(HWND,int,BOOL);
  505. TER_CPLUSPLUS BOOL   WINAPI _export TerRewrap(HWND);
  506. TER_CPLUSPLUS BOOL   WINAPI _export TerSearchReplace(HWND,LPBYTE,LPBYTE,UINT,long,long far *,long far *);
  507. TER_CPLUSPLUS int    WINAPI _export TerPastePicture(HWND,UINT,HGLOBAL,int,int,BOOL);
  508. TER_CPLUSPLUS BOOL   WINAPI _export TerGetHypertext(HWND,LPBYTE,LPBYTE);
  509. TER_CPLUSPLUS BOOL   WINAPI _export TerCreateTable(HWND,int,int,BOOL);
  510. TER_CPLUSPLUS int    WINAPI _export TerPictureFromFile(HWND,LPBYTE,int,BOOL);
  511. TER_CPLUSPLUS int    WINAPI _export TerInsertParaFrame(HWND,int,int,int,int);
  512. TER_CPLUSPLUS BOOL   WINAPI _export TerMoveParaFrame(HWND,int,int,int,int,int);
  513. TER_CPLUSPLUS BOOL   WINAPI _export GetTerFieldsAlt(HWND,struct StrTerField far *,long);
  514. TER_CPLUSPLUS BOOL   WINAPI _export TerSetParaSpacing(HWND,int,int,int,BOOL);
  515. TER_CPLUSPLUS int    WINAPI _export TerDataVersion(void);
  516. TER_CPLUSPLUS BOOL   WINAPI _export TerAppendText(HWND,BYTE TER_HUGE *,int,int,BOOL);
  517. TER_CPLUSPLUS BOOL   WINAPI _export TerInsertText(HWND,BYTE TER_HUGE *,int,int,BOOL);
  518. TER_CPLUSPLUS int    WINAPI _export TerCreateFont(HWND,int,BOOL,LPBYTE,int,UINT,COLORREF,COLORREF,int,int);
  519. TER_CPLUSPLUS int    WINAPI _export TerCreateParaId(HWND,int,BOOL,int,int,int,int,int,int,UINT,int,int,int,int,UINT);
  520. TER_CPLUSPLUS BOOL   WINAPI _export TerSetAppMemory(HWND,long);
  521. TER_CPLUSPLUS LPVOID WINAPI _export TerGetAppMemory(HWND);
  522. TER_CPLUSPLUS int    WINAPI _export TerSetDefTabWidth(HWND,int,BOOL);
  523. TER_CPLUSPLUS BOOL   WINAPI _export TerInsertObjectId(HWND,int,BOOL);
  524. TER_CPLUSPLUS BOOL   WINAPI _export TerRegisterVbxCallback(HWND,VBX_CALLBACK);
  525. TER_CPLUSPLUS BOOL   WINAPI _export TerGetPictInfo(HWND,int,LPINT,LPRECT,LPINT,LPINT);
  526. TER_CPLUSPLUS BOOL   WINAPI _export TerSetPictInfo(HWND,int,UINT,int,int);
  527.  
  528. TER_CPLUSPLUS HANDLE WINAPI    _export StrToHandle(BYTE TER_HUGE *,long);        // needed for Visual Basic interface only  
  529. TER_CPLUSPLUS BOOL   WINAPI    _export HandleToStr(BYTE TER_HUGE *,long,HANDLE); // needed for Visual Basic interface only  
  530. TER_CPLUSPLUS LRESULT CALLBACK _export VbxProcessMessage(HWND,UINT,WPARAM,LPARAM,LPINT);
  531.  
  532.