Yet Another Code Site

TaeRichEdit Component Information
Open Beta Test

After two years of trying to work with the Borland VCL TRichEdit class, I finally gave up.  There were too many obstacles that Delphi could easily overcome but BCB could not -- mostly because Delphi does not honor the strict object-oriented rules that C++ imposes.  I will not bore you with the details since they would require at least a page or two to describe.  I will, however, tell you what is available in this new component....

The TaeRichEdit Component is a set of roughly twenty classes designed to replace the TRichEdit component.  The main component class, TTaeRichEdit, completely mimics the VCL TRichEdit class and adds support for Rich Edit 2.0 and 3.0.  Unlike similar components, it is derived from neither TRichEdit nor TCustomRichEdit.  Instead, the component is derived directly from the VCL TCustomMemo class (as is the VCL TRichEdit component) and written entirely in BCB C++.

TaeRichEdit Component Features
TaeRichEdit Component Classes
The TaeRichEdit To Do List
The TaeRichEdit Component Vision
Download The TaeRichEdit Component
TaeRichEdit Component Bugs

TaeRichEdit Component Features

The TaeRichEdit Component:

TaeRichEdit Component Classes

The following table lists most of the new TaeRichEdit component classes.



Immediate Ancestor



TFont (VCL)

Extends TFont to include font attributes added in Rich Edit 2.0 and 3.0.



Manages the OLE interface for TTaeRichEdit controls.


IRichEditOleCallback (VCL)

OLE callback functions for TTaeRichEdit controls. Generally, you do not use this class directly.


TPersistent (VCL)

Container for left-, centered-, and right-aligned header and footer text. Specifies header/footer font.



Container for first and second page headers and footers, borders, margins, etc.



Maintains a list of named TTaePageStyles. Includes routines for storing the list to the Registry. Not directly used by the TaeRichEditComponent.


TPersistent (VCL)

Largely a translation of the VCL TParaAttributes class. See the VCL TParaAttributes class for some of the functionality.



Extends TTaeParaAttributes to support new paragraph styles and attributes for Rich Edit 2.0 and 3.0.



Utiility class for simple text substitution. Used to substitute page numbers, file names, etc., in headers and footers.



Basic text substitution parser.


TForm (VCL)

Print Cancel Dialog for TTaeRichEditPrint class.


TPrintDialog (VCL)

Extends TPrintDialog to automatically insert valid page range.


TCustomMemo (VCL)

The main Rich Edit class.



Extends TTaeRichEditPrint to support page headers, footers, borders, margins, etc.


TPersistent (VCL)

Class for basic TTaeRichEdit print and print preview functions.


TStrings (VCL)

Primarily a translation of the undocumented and inaccessible VCL TRichEditStrings class. Used by the TTaeRichEdit::Lines property. See the VCL TStrings class for some of the functionality.


TPersistent (VCL)

Largely a translation of the VCL TTextAttributes class. See the VCL TTextAttributes class for some of the functionality.



Extends TTaeTextAttributes to support new character styles and attributes for Rich Edit 2.0 and 3.0.



Utility class for getting and setting file information and attributes.

The TaeRichEdit To Do List

Naturally, there are a few things in my "to-do" list:

Finally, I fully expect that a few bugs will be discovered and these become a top priority.

The TaeRichEdit Component Vision

If you read the TaeRichEdit Component license agreement (and you should), you might think that I am trying to get rich with this component.  Not bloody likely, in my opinion.  I have no delusions that this component will make me rich, solve world hunger, or supplant the basic mousetrap.  Instead, I would prefer that the TaeRichEdit Component become an "open source" effort.  To get there, I need your help.  Ultimately, I would like to:

Clearly, this vision is a group effort.  If enough of us get behind this, it can happen.  Let me know if you are interested.

Download The TaeRichEdit Component

Please see the TaeRichEdit Component Bugs page for current information about bugs, fixes, and enhancements.

Note:  To get the most out of this component, you will need the Rich Edit 2.0 or 3.0 DLL (riched20.dll, both versions).  This package does not include them because Microsoft told me "no" when I asked to distribute Rich Edit 2.0.  See other pages on this site for locations where you might find the DLL.

BCB4 Version Download the BCB4 version of the TaeRichEdit Component Open Beta (version, 06-07-2000, ~298KB).

BCB5 Version Download the BCB5 version of the TaeRichEdit Component Open Beta (version, 06-07-2000, ~299KB).

Download the currently incomplete component help (last updated 02-13-2000, ~191KB).

(Thanks to Pete Fraser for sharing his great GenHelp program without which the help file would probably never get this far.  See the Links page for more information on GenHelp.)

For the truly brave, or truly desperate, here are fixes for certain printer problems, STL compatibility issues, and a couple of other changes.  See the TaeRichEdit Component Bugs page for details.  Be sure to read the documentation files before installing the changes, especially if you are using BCB4.

BCB4 Version BCB5 Version Download the interim fixes (last updated 09-09-2000, ~27KB).


Home | Top Of Page | Code | Papers | FAQs | Links | Search | Feedback

Page updated September 9, 2000

Copyright © 1999, 2000 Thin Air Enterprises and Robert Dunn.  All rights reserved.