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 a través de Microsoft Word o, además, a través de los controles RichEdit que normalmente se incluyen con Windows. [1]
Historia
Cuando se desarrolló TOM, fue fuertemente influenciado por WordBasic, [1] un lenguaje de macros usado dentro de 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 una 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 se envió con Windows 8 , agregó soporte para matemáticas OpenType . [3]
Detalles técnicos
Para recuperar una instancia implementada de ITextDocument
interfaz (la interfaz de documento de nivel superior), el EM_GETOLEINTERFACE
mensaje puede enviarse a través de la API SendMessage para obtener un puntero a un IRichEditOle
objeto, que también implementa la ITextDocument
interfaz. [1] TOM puede funcionar de manera diferente dependiendo de la versión del control RichEdit para la que se recupere la interfaz (las ventanas RICHEDIT50W proporcionan más funcionalidad que los controles estándar RICHEDIT20W o RICHEDIT20A, como el soporte de tabla adecuado). [2]
Interfaces COM
- ITextDocument
- Una interfaz de alto nivel. Los documentos se pueden abrir y guardar a través de esta interfaz. Aquí también se logra cierto control de actualización de pantalla. La agrupación de deshacer / rehacer se implementa aquí. Se proporcionan rangos de texto arbitrarios ( ITextRange ) y un rango de texto para el texto seleccionado actualmente ( 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, que se puede examinar, modificar o eliminar. Los rangos existen dentro de los párrafos y el párrafo dentro de un rango es accesible a través de una propiedad de este objeto.
- ITextSelection
- Proporciona información de selección, además de la funcionalidad proporcionada por ITextRange .
- ITextFont
- Interfaz dual con ITextPara
- Un mecanismo para la inspección y modificación de atributos de fuente 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 amplia información sobre la posición, el formato fuera de las fuentes (p. Ej., Sangría de la primera línea), el comportamiento (p. Ej., Control de viudas) y el propósito de un párrafo (podría ser un párrafo normal, una lista, una tabla, etc.).
Ver también
Referencias
- ^ a b c "Modelo de objetos de texto" . Consultado el 4 de diciembre de 2011 .
- ^ a b c "Versiones RichEdit" . Consultado el 4 de diciembre de 2011 .
- ^ http://blogs.msdn.com/b/murrays/archive/2012/03/03/richedit-8-0-preview.aspx