Compartilhar via


Abrir editores específicos do projeto

Se um arquivo de item que está sendo aberto por um projeto está intrinsecamente vinculado ao editor específico para esse projeto, o projeto deve abrir o arquivo usando um editor específico do projeto. O arquivo não pode ser delegado ao mecanismo do IDE para selecionar um editor. Por exemplo, em vez de usar um editor de bitmap padrão, você pode usar essa opção de editor específico do projeto para especificar um editor de bitmap específico que reconhece informações no arquivo que é exclusivo para o seu projeto.

O IDE chama o OpenItem método quando determina que um arquivo deve ser aberto por um projeto específico. Para obter mais informações, consulte Exibir arquivos usando o comando Abrir arquivo. Use as diretrizes a seguir para implementar o OpenItem método para que seu projeto abra um arquivo usando um editor específico do projeto.

Para implementar o método OpenItem com um editor específico do projeto

  1. Chame o método () para determinar se o FindAndLockDocument arquivo (RDT_EditLockobjeto de dados do documento) já está aberto.

    Observação

    Para obter mais informações sobre dados de documento e objetos de exibição de documento, consulte Dados do documento e exibição de documento em editores personalizados.

  2. Se o arquivo já estiver aberto, ressurja o arquivo chamando o método e especificando um valor de IDO_ActivateIfOpen para o IsDocumentOpen grfIDO parâmetro.

    Se o arquivo estiver aberto e o documento pertencer a um projeto diferente do projeto de chamada, um aviso será exibido ao usuário de que o editor que está sendo aberto é de outro projeto. A janela do arquivo é então exibida.

  3. Se o buffer de texto (objeto de dados do documento) já estiver aberto e você quiser anexar outro modo de exibição a ele, você será responsável por conectar esse modo de exibição. A abordagem recomendada para instanciar um modo de exibição (objeto de exibição de documento) do projeto é a seguinte:

    1. Chame QueryService o SLocalRegistry serviço para obter um ponteiro para a ILocalRegistry2 interface.

    2. Chame o CreateInstance método para criar uma instância da classe de exibição de documento.

  4. Chame o CreateDocumentWindow método, especificando seu objeto de exibição de documento.

    Esse método localiza o objeto de exibição de documento em uma janela de documento.

  5. Execute as chamadas apropriadas para os InitNew métodos ou .Load

    Neste ponto, a exibição deve estar totalmente inicializada e pronta para ser aberta.

  6. Chame o Show método para mostrar e abrir a exibição.