Compartilhar via


Fornecer automação para janelas

Você pode fornecer automação para janelas de documentos e ferramentas. Fornecer automação é aconselhável sempre que você quiser disponibilizar objetos de automação em uma janela, e o ambiente ainda não fornece um objeto de automação pronto, como acontece com uma lista de tarefas.

Automação para janelas de ferramentas

O ambiente fornece automação em uma janela de ferramenta retornando um objeto padrão Window , conforme explicado no procedimento a seguir:

  1. Chame o GetProperty método através do ambiente com __VSFPROPID. VSFPROPID_ExtWindowObject como VSFPROPID parâmetro para obter o Window objeto.

  2. Quando um chamador solicita um objeto de automação específico do VSPackage para sua janela de ferramenta por meio Objectdo , o ambiente chama QueryInterface IExtensibleObject, IVsExtensibleObjectou as IDispatch interfaces. Ambos IExtensibleObject e IVsExtensibleObject fornecer um GetAutomationObject método.

  3. Quando o ambiente chama o método passando NULL, responda passando de volta o GetAutomationObject objeto específico do VSPackage.

  4. Se chamar QueryInterface e falhar, o ambiente pede QueryInterface IDispatch.IVsExtensibleObject IExtensibleObject

Automação para janelas de documentos

Um objeto padrão Document também está disponível no ambiente, embora um editor possa ter sua própria implementação do objeto implementando IExtensibleObject a Document interface e respondendo ao GetAutomationObject.

Além disso, um editor pode fornecer um objeto de automação específico do VSPackage, recuperado por meio do Object método, implementando as IVsExtensibleObject interfaces or IExtensibleObject . Os exemplos VSSDK contribuem com um objeto de automação específico do documento RTF.