文本对象模型

本节包含与文本对象模型 (TOM) 一起使用的编程元素的相关信息。

TOM 定义了大量文本操作界面。 Microsoft Word 等文本解决方案和 Rich Edit 控件支持 TOM 功能集。 TOM 深受 WordBasic(Word 使用的编程语言)的影响,可以通过 Microsoft Visual Basic for Applications (VBA) 轻松使用。 这种兼容性具有多重优点:

  • 代码可以非常轻松地从一个解决方案迁移到另一个解决方案。
  • 不同文本引擎之间可使用一种语言来共享文本信息。
  • 与单独的低级组件对象模型 (COM) 和 VBA 接口相比,它减少了对文档和代码的需求。

但就 C/C++ 而言,它的效率可能不如使用更通用的低级别 COM 接口。

TOM 为其主要文本解决方案、Word 和 Rich Edit 控件提供了一组简单的接口。 但对于不太强调文本的应用程序而言,最好还是通过将文本传输到支持 TOM 的编辑控件来提供 TOM 接口。 由于 Microsoft 操作系统随附了 Rich Edit 控件,因此它们是获取 TOM 功能的标准方法。

概述

主题 目录
关于文本对象模型 顶级文本对象模型 (TOM) 对象由 ITextDocument 接口定义,该接口具有创建和检索对象层次结构中较低级别对象的方法。
使用文本对象模型 本文档中的代码示例展示了使用文本对象模型 (TOM) 的各个方面。

接口

主题 目录
ITextDocument ITextDocument 接口是 TOM 的顶层接口,可检索文档中任何情景的活动选区和范围对象,而无论其是否处于活动状态。 它让应用程序能够:
  • 打开和保存文档。
  • 控制撤销行为和屏幕更新。
  • 从屏幕位置查找范围。
  • 获取 ITextStoryRanges 情景枚举器。

何时实现
应用程序通常不会实现 ITextDocument 接口。 Microsoft 文本解决方案(如 Rich Edit 控件)实现了 ITextDocument 来作为其 TOM 实现的一部分。
何时使用
应用程序可以从 Rich Edit 控件中检索 ITextDocument 指针。 为此,请发送 EM_GETOLEINTERFACE 消息,以便从 Rich Edit 控件中检索 IRichEditOle 对象。 然后,调用对象的 IUnknown::QueryInterface 方法来检索 ITextDocument 指针。
ITextFont TOM 富文本范围属性可通过一对双接口,即 ITextFont and ITextPara 来访问。
ITextPara TOM 富文本范围属性可通过一对双接口,即 ITextFont and ITextPara 来访问。
ITextRange ITextRange 对象是功能强大的编辑和数据绑定工具,允许程序选择情景中的文本,然后检查或更改这些文本。
ITextSelection 文本选择是一个突出显示所选内容的的文本范围。
ITextStoryRanges ITextStoryRanges 接口的目的是枚举 ITextDocument 中的情景。