Como: abrir editores específicos do projeto

Se um arquivo de item que está sendo aberto por um projeto estiver associado intrinsecamente ao editor específico desse projeto, o projeto deverá abrir o arquivo usando um editor específico do projeto. Não é possível delegar o arquivo para o 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ífica do projeto para especificar um editor de bitmap específico que reconheça as informações no arquivo que é exclusivo para 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 o projeto Abra um arquivo usando um editor específico do projeto.

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

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

    Observação

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

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

    Se o arquivo estiver aberto e o documento pertencer 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. A janela de arquivo é, então, na superfície.

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

    1. Chame QueryService no 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 o objeto de exibição de documento.

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

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

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

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

Confira também