Text Object Model


The Text Object Model is a Microsoft Windows API that provides developers with object-based rich text manipulation interfaces. It is implemented through COM, and can be accessed through Microsoft Word or additionally through the RichEdit controls that normally ship with Windows.

History

When TOM was developed, it was influenced heavily by WordBasic, a macro language used within Word before VBA. TOM has developed alongside the RichEdit technology, and has been present since version 1.0 of the RichEdit components. The API has been available as an option for Windows CE since the 2.5 release of RichEdit, which was at least used by Pocket Word at that time.
Version 8.0 of RichEdit, which shipped with Windows 8, added support for OpenType math.

Technical details

To retrieve an implemented instance of ITextDocument interface, the EM_GETOLEINTERFACE message may be sent via the API to obtain a pointer to an IRichEditOle object, which also implements the ITextDocument interface. TOM may operate differently depending on the version of the RichEdit control the interface is retrieved for.

COM Interfaces

;ITextDocument
;ITextRange
;ITextFont
;ITextPara