Partilhar via


Ativação in-loco

Se o modo de exibição do editor hospedar ActiveX ou outros controles de ativos, você deve implementar o seu modo de exibição do editor como um controle de ActiveX ou como um objeto de dados do documento ativo usando o modelo de ativação no local.

Suporte para Menus, barras de ferramentas e comandos

Visual Studio permite a exibição de editor para utilizar os menus e barras de ferramentas do IDE. Essas extensões são chamadas de OLE in loco componentes. Para obter mais informações, consulte o IOleInPlaceComponent e IOleInPlaceComponentUIManager.

Se você implementar um controle ActiveX, você pode hospedar outros objetos incorporados. Se você implementar um objeto de dados do documento, a moldura da janela limita sua capacidade de usar os controles de ActiveX.

Dica

O IOleDocument e IOleDocumentView interface permite uma separação de dados e o modo de exibição.Entretanto, o Visual Studio não oferece suporte a essa funcionalidade, e essas interfaces são usadas apenas para representar o objeto de exibição do documento.

Editores que usam o SOleComponentUIManager serviço pode fornecer o menu, barra de ferramentas e a integração do comando chamando os métodos da IOleInPlaceComponentUIManager interface implementada pela SOleComponentUIManager service. Editores podem também oferecem outras funcionalidades de Visual Studio, como, por exemplo, seleção de controle, a macro gravando e desfazer o gerenciamento. Para obter mais informações, consulte Criação de Designers e editores de texto personalizado.

Objetos e Interfaces usadas

Os objetos que são usados para criar a ativação in-loco são mostrados na ilustração a seguir.

Editor de ativação in-loco

Editor de ativação no local

Dica

Objetos deste desenho, somente o CYourEditorFactory objeto é necessário para criar um editor padrão.Se você estiver criando um editor personalizado, você não é necessário para implementar IVsPersistDocData2 porque seu editor provavelmente terá seu próprio mecanismo de persistência particular.Para obter mais informações, consulte Criação de Designers e editores de texto personalizado.

Todas as interfaces que são implementadas para criar uma ativação in-loco editor são mostradas na única CYourEditorDocument objeto, mas esta configuração suporta apenas um único modo de exibição de dados do documento. Para obter mais informações sobre o suporte a vários modos de exibição dos dados do documento, consulte Suporte a vários modos de exibição de documento.

Interface

Tipo de objeto

Uso

IOleInPlaceComponent

View

Permite que objetos de VSPackage in loco operar como componentes totalmente integradas do IDE usando o SOleComponentUIManager service. Esse serviço integra os menus, barras de ferramentas e comandos do objeto ao IDE e emite notificações de alterações de estado.

IOleObject

View

Principais meios pelos quais um objeto incorporado fornece funcionalidade básica para seu recipiente e se comunica com ele.

IOleInPlaceActiveObject

View

Gerencia a ativação e desativação de objetos no local e, em seguida, determina quanto do objeto no local deve estar visível.

IOleInPlaceObject

View

Fornece um canal direto de comunicação entre um objeto no local, janela de quadro mais externo do aplicativo associado e a janela de documento no aplicativo que contém o objeto incorporado.

IOleDocument

View

Implementa um objeto ActiveX. Observe que os métodos de IOleDocument e T:Microsoft.VisualStudio.OLE.Interop.IOleDocumentView dados de documento separado e o modo de exibição não são usadas no IDE.

IOleCommandTarget

Exibir/dados

Permite que o objeto de dados do documento, o objeto de exibição de documento ou ambos para participar de manipulação de comando.

IVsStatusbarUser

View

Permite atualizações da barra de status.

IVsToolboxUser

View

Permite adicionar itens à caixa de ferramentas.

IVsFileChangeEvents

Dados

Envia a notificação de alterações para o arquivo editado. (Essa interface é opcional).

IPersistFileFormat

Dados

Usado para habilitar o recurso Salvar como para um tipo de arquivo.

IVsPersistDocData

Dados

Permite a persistência para o documento. Para arquivos somente leitura, ligue para SetDocDataReadOnly para fornecer o ícone "bloquear" que indica os arquivos somente leitura.

IVsDocDataFileChangeControl

Dados

Determina se as alterações nos dados do documento devem ser ignoradas.