Como: abrir editores específicos do projetoHow to: Open project-specific editors

Se um arquivo de item que está sendo aberto por um projeto é intrinsecamente associado ao editor específico para o projeto, o projeto deve abrir o arquivo usando um editor específico do projeto.If an item file being opened by a project is intrinsically bound to the particular editor for that project, the project must open the file by using a project-specific editor. O arquivo não pode ser delegado para baixo para o mecanismo do IDE para a seleção de um editor.The file cannot be delegated down to the IDE's mechanism for selecting an editor. Por exemplo, em vez de usar um editor de bitmap padrão, você pode usar essa opção do editor específicas a um projeto para especificar um editor de bitmap específico que reconhece as informações no arquivo que é exclusivo ao seu projeto.For example, instead of using a standard bitmap editor, you can use this project-specific editor option to specify a specific bitmap editor that recognizes information in the file that is unique to your project.

As chamadas IDE a OpenItem método quando ele determina se um arquivo deve ser aberto por um projeto específico.The IDE calls the OpenItem method when it determines that a file should be opened by a specific project. Para obter mais informações, consulte exibir arquivos usando o comando Abrir arquivo.For more information, see Display files by using the Open File command. Use as seguintes diretrizes para implementar o OpenItem método para que seu projeto a abrir um arquivo usando um editor específico do projeto.Use the following guidelines to implement the OpenItem method to have your project open a file by using a project-specific editor.

Para implementar o método OpenItem com um editor específico do projetoTo implement the OpenItem method with a project-specific editor

  1. Chame o FindAndLockDocument método (RDT_EditLock) para determinar se o arquivo (objeto de dados de documento) já está aberto.Call the FindAndLockDocument method (RDT_EditLock) to determine whether the file (document data object) is already open.

    Note

    Para obter mais informações sobre dados de documentos e objetos de exibição de documento, consulte exibição de dados e documentos em editores personalizados do documento.For more information about document data and document view objects, see Document data and document view in custom editors.

  2. Se o arquivo já estiver aberto, repavimentar o arquivo chamando o IsDocumentOpen método e especificando um valor de IDO_ActivateIfOpen para o grfIDO parâmetro.If the file is already open, resurface the file by calling the IsDocumentOpen method and specifying a value of IDO_ActivateIfOpen for the grfIDO parameter.

    Se o arquivo está aberto e o documento pertencente a um projeto que não seja o projeto de chamada, um aviso será exibido para o usuário que o editor que está sendo aberto é de outro projeto.If the file is open and the document is owned by a project other than the calling project, a warning will be displayed to the user that the editor being opened is from another project. A janela de arquivo, em seguida, é exibida.The file window is then surfaced.

  3. Se o buffer de texto (objeto de dados de documento) já está aberto e você deseja anexar outro modo de exibição a ele, você é responsável por esse modo de exibição de gancho.If your text buffer (document data object) is already open and you want to attach another view to it, you are responsible for hooking up that view. A abordagem recomendada para criar uma instância de um modo de exibição (objeto de exibição de documento) do projeto, é o seguinte:The recommended approach to instantiating a view (document view object) from the project, is as follows:

    1. Chame QueryService sobre o SLocalRegistry service para obter um ponteiro para o ILocalRegistry2 interface.Call QueryService on the SLocalRegistry service to get a pointer to the ILocalRegistry2 interface.

    2. Chamar o CreateInstance método para criar uma instância da classe de exibição do documento.Call the CreateInstance method to create an instance of the document view class.

  4. Chamar o CreateDocumentWindow método, especificando seu objeto de exibição de documento.Call the CreateDocumentWindow method, specifying your document view object.

    Esse método sites o objeto de exibição de documento em uma janela do documento.This method sites the document view object in a document window.

  5. Executar as chamadas apropriadas para qualquer um de InitNew ou o Load métodos.Perform the appropriate calls to either the InitNew or the Load methods.

    Neste ponto, o modo de exibição deve ser totalmente inicializado e está pronto para ser aberto.At this point, the view should be fully initialized and ready to be opened.

  6. Chamar o Show método para mostrar e abrir o modo de exibição.Call the Show method to show and open the view.

Consulte tambémSee also

Abrir e salvar itens de projeto Open and Save project items
Como: abrir editores padrão How to: Open standard editors
Como: abrir editores para documentos abertosHow to: Open editors for open documents