Текстовая объектная модель
Модель текстовых объектов ( TOM ) — это Microsoft Windows API , который предоставляет разработчикам объектно-ориентированные интерфейсы для работы с текстом. Он реализуется через COM , и доступ к нему можно получить через Microsoft Word или дополнительно через элементы управления RichEdit, которые обычно поставляются с Windows. [1]
История
[ редактировать ]Когда разрабатывался TOM, на него сильно повлиял WordBasic. [1] макроязык , использовавшийся в Word до VBA ( Word 95 и предыдущие версии). TOM разрабатывался параллельно с технологией RichEdit и присутствует начиная с версии 1.0 компонентов RichEdit. [2] API был доступен в качестве опции для Windows CE использовалась Pocket Word . начиная с версии 2.5 RichEdit (только для западных языков), которая, по крайней мере, в то время [2]
В версии 8.0 RichEdit, поставляемой с Windows 8 , добавлена поддержка математических вычислений OpenType . [3]
Технические детали
[ редактировать ]Чтобы получить реализованный экземпляр ITextDocument
интерфейс (интерфейс документа верхнего уровня), EM_GETOLEINTERFACE
сообщение может быть отправлено через API SendMessage для получения указателя на IRichEditOle
объект, который также реализует ITextDocument
интерфейс. [1] TOM может работать по-разному в зависимости от версии элемента управления RichEdit, для которого извлекается интерфейс (окна RICHEDIT50W предоставляют больше функций, чем стандартные элементы управления RICHEDIT20W или RICHEDIT20A, например, правильную поддержку таблиц). [2]
COM-интерфейсы
[ редактировать ]- ITextDocument
- Интерфейс верхнего уровня. Документы можно открывать и сохранять через этот интерфейс. Здесь также достигается некоторый контроль обновления экрана. Здесь реализована группировка отмены/повтора. произвольные текстовые диапазоны ( ITextRange ) и текстовый диапазон для выбранного в данный момент текста ( ITextSelection ), которые используются для изменения или просмотра документа. Предоставляются
- ITextRange
- Предоставляет инструменты редактирования и привязки данных для выделения текста в документе, который можно просмотреть, изменить или удалить. Диапазоны существуют внутри абзацев, а абзац, в котором находится диапазон, доступен через свойство этого объекта.
- Итекстселектион
- Предоставляет информацию о выборе в дополнение к функциям, предоставляемым ITextRange .
- ITextFont
- Двойной интерфейс с ITextPara
- Механизм проверки и изменения атрибутов расширенного редактирования шрифта, который значительно более обширен, чем стандартный интерфейс OLE, используемый для описания шрифта (IFontDisp, StdFont).
- ITextPara
- Двойной интерфейс с ITextFont
- Предоставляет обширную информацию о положении, форматировании вне шрифтов (например, отступ первой строки), поведении (например, элемент управления окном) и назначении абзаца (это может быть обычный абзац, список, таблица и т. д.).
См. также
[ редактировать ]- Расширенный текстовый формат
- Компонентная объектная модель (COM)
- Связывание и внедрение объектов (OLE)
Ссылки
[ редактировать ]- ^ Jump up to: а б с «Текстовая объектная модель» . Проверено 4 декабря 2011 г.
- ^ Jump up to: а б с «Версии RichEdit» . Проверено 19 ноября 2023 г.
- ^ «Блоги разработчиков» .