El Modelo de Objetos de Texto ( TOM ) es una API de Microsoft Windows que proporciona a los desarrolladores interfaces de manipulación de texto enriquecido basadas en objetos. Se implementa a través de COM y se puede acceder a él mediante Microsoft Word o, adicionalmente, mediante los controles RichEdit que normalmente vienen incluidos con Windows. [ 1 ]
Historia
Cuando se desarrolló TOM, estuvo fuertemente influenciado por WordBasic, [ 1 ] un lenguaje de macros utilizado en Word antes de VBA ( Word 95 y versiones anteriores). TOM se ha desarrollado junto con la tecnología RichEdit y ha estado presente desde la versión 1.0 de los componentes RichEdit. [ 2 ] La API ha estado disponible como opción para Windows CE desde la versión 2.5 de RichEdit (solo idiomas occidentales), que al menos era utilizada por Pocket Word en ese momento. [ 2 ]
La versión 8.0 de RichEdit, que venía incluida con Windows 8 , añadió compatibilidad con OpenType math . [ 3 ]
Detalles técnicos
Para recuperar una instancia implementada de ITextDocumentla interfaz (la interfaz de documento de nivel superior), el EM_GETOLEINTERFACEmensaje puede enviarse a través de la API SendMessage para obtener un puntero a un IRichEditOleobjeto que también implementa la ITextDocumentinterfaz. [ 1 ] TOM puede funcionar de manera diferente según la versión del control RichEdit para la que se recupera la interfaz (las ventanas RICHEDIT50W proporcionan más funcionalidad que los controles estándar RICHEDIT20W o RICHEDIT20A, como compatibilidad adecuada con tablas). [ 2 ]
Interfaces COM
- Documento de texto
- Interfaz de nivel superior. Permite abrir y guardar documentos, así como controlar la actualización de la pantalla. También implementa la agrupación de acciones de deshacer/rehacer. Dispone de rangos de texto arbitrarios ( ITextRange ) y un rango para el texto seleccionado ( ITextSelection ), que se utilizan para modificar o revisar el documento.
- ITextRange
- Proporciona herramientas de edición y enlace de datos para seleccionar texto dentro de un documento, el cual puede examinarse, modificarse o eliminarse. Los rangos se encuentran dentro de los párrafos, y el párrafo al que pertenece un rango es accesible mediante una propiedad de este objeto.
- Selección de texto
- Proporciona información de selección, además de la funcionalidad que ofrece ITextRange .
- Fuente de texto
- Interfaz dual con ITextPara
- Un mecanismo para la inspección y modificación de atributos de fuentes de edición enriquecida, que es considerablemente más extenso que la interfaz OLE estándar utilizada para describir una fuente (IFontDisp, StdFont).
- ITextPara
- Interfaz dual con iTextFont
- Proporciona información detallada sobre la posición, el formato más allá de las fuentes (por ejemplo, la sangría de la primera línea), el comportamiento (por ejemplo, el control de viudas) y el propósito de un párrafo (podría ser un párrafo normal, una lista, una tabla, etc.).
Véase también
Referencias
Enlaces externos
- Descripción general del modelo de objetos de texto
- Obtención del objeto TOM para un control RichEdit.
- Información histórica de RichEdit/TOM ( enlace a WebArchive )
- Clases TOM para .NET
- Interfaces de programación de aplicaciones de Microsoft