打开特定于项目的编辑器
如果项目打开的项文件本质上绑定到该项目的特定编辑器,则项目必须使用特定于项目的编辑器打开该文件。 无法将文件委托给 IDE 选择编辑器的机制。 例如,可以使用此特定于项目的编辑器选项来指定特定位图编辑器,该编辑器可识别项目中唯一的信息。
IDE 在确定文件应由特定项目打开时调用 OpenItem 该方法。 有关详细信息,请参阅 使用“打开文件”命令显示文件。 使用以下准则实现方法, OpenItem
以便项目使用特定于项目的编辑器打开文件。
使用特定于项目的编辑器实现 OpenItem 方法
FindAndLockDocument调用方法(
RDT_EditLock
)以确定文件(文档数据对象)是否已打开。注意
有关文档数据和文档视图对象的详细信息,请参阅 自定义编辑器中的文档数据和文档视图。
如果文件已打开,请通过调用 IsDocumentOpen 方法并指定参数的 IDO_ActivateIfOpen
grfIDO
值来重新浮出文件。如果文件已打开,并且文档由调用项目以外的项目拥有,则会向用户显示一条警告,指出打开的编辑器来自另一个项目。 然后显示文件窗口。
如果文本缓冲区(文档数据对象)已打开,并且你想要将另一个视图附加到该视图,则你负责连接该视图。 建议从项目实例化视图(文档视图对象),如下所示:
调用
QueryService
SLocalRegistry服务以获取指向接口的ILocalRegistry2指针。CreateInstance调用该方法以创建文档视图类的实例。
调用该方法 CreateDocumentWindow ,指定文档视图对象。
此方法将文档视图对象网站到文档窗口中。
-
此时,应完全初始化视图并准备好打开。
Show调用该方法以显示和打开视图。