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 QueryInterfaceIExtensibleObject, 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 QueryInterfaceIDispatch.IVsExtensibleObjectIExtensibleObject

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.