如果编辑视图宿主 ActiveX 或其他活动控件,则必须实现 edit 视图或者,在 Activex 控件使用就地激活设计,或激活时,文档数据对象。
为菜单、工具栏和命令支持
Visual Studio 允许编辑视图使用 IDE 的菜单和工具栏。 这些扩展称为 OLE 就地元素。 有关更多信息,请参见 IOleInPlaceComponent 和 IOleInPlaceComponentUIManager。
如果实现 Activex 控件,可以承载其他嵌入对象。 如果实现一个文档数据对象,窗架约束能够使用 Activex 控件。
备注
IOleDocument 和 IOleDocumentView 接口允许数据和视图的分离。但是, Visual Studio 不支持此功能,并且,这些接口仅用于表示文档视图对象。
使用 SOleComponentUIManager 服务的编辑器可以通过调用 SOleComponentUIManager 服务实现的 IOleInPlaceComponentUIManager 接口的方法提供菜单、工具栏和命令集成。 编辑器还提供其他 Visual Studio 功能,例如跟踪的选择,宏记录,并移除管理。 有关更多信息,请参见 创建自定义文本编辑器和设计器。
使用的对象和接口
用于创建就地激活的对象如下图所示。
就地激活编辑
备注
此绘制的对象,只需要 CYourEditorFactory 对象创建标准编辑。如果创建自定义编辑器,不需要实现 IVsPersistDocData2 ,因为编辑器可以将其自己的私有保持机制。有关更多信息,请参见 创建自定义文本编辑器和设计器。
实现创建一个就地激活编辑的任何接口在单个 CYourEditorDocument 对象,但是,此配置显示只支持单个视图文档数据。 有关支持文档多个数据视图的更多信息,请参见 支持多文档视图。
接口 |
对象类型 |
使用 |
---|---|---|
视图 |
使用 SOleComponentUIManager 服务,使就地 VSPackage 对象行为在 IDE 的完全集成的元素。 此服务集成对象的菜单、工具栏和命令 IDE 和问题的状态更改的通知。 |
|
视图 |
嵌入对象提供了基本功能到其容器以及与之通信的主方法。 |
|
视图 |
管理就地对象的激活和停用,并确定了就地对象应当可见的。 |
|
视图 |
提供通信一个直接通道一就地对象、关联的应用程序的最外面的框架窗口和文档窗口之间的在则包含嵌入对象的应用程序。 |
|
视图 |
实现 ActiveX 对象。 请注意单独的文档数据和视图 IOleDocument 和 T:Microsoft.VisualStudio.OLE.Interop.IOleDocumentView 的方法不在 IDE。 |
|
视图/数据 |
使文档数据对象或文档视图对象或两个参与命令处理。 |
|
视图 |
启用状态栏更新。 |
|
视图 |
添加项目的操作添加到工具箱中。 |
|
数据 |
发送更改的通知到编辑文件的。 (此接口是可选的。) |
|
数据 |
用于启用另存为文件类型的函数。 |
|
数据 |
启用文档的持久性。 对于只读文件,请调用 SetDocDataReadOnly 提供指示只读文件的 “锁定”图标。 |
|
数据 |
确定是否应忽略记录更改的数据。 |