Articulo de referencia

Modelo de objetos de texto

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. S...

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

  1. 1 2 3 "Modelo de objetos de texto" . Consultado el 4 de diciembre de 2011 .
  2. 1 2 3 "Versiones de RichEdit" . 13 de octubre de 2006. Consultado el 19 de noviembre de 2023 .
  3. "Blogs de desarrolladores" .
  • 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