Como: fornecer automação para o WindowsHow to: Provide automation for windows
Você pode fornecer automação para janelas de documentos e ferramentas.You can provide automation for document and tool windows. Fornecer automação é aconselhável sempre que você deseja disponibilizar objetos de automação em uma janela, e o ambiente ainda não fornece um objeto de automação pronto, como faz com uma lista de tarefas.Providing automation is advisable whenever you want to make automation objects available on a window, and the environment does not already provide a ready-made automation object, as it does with a task list.
Automação para janelas de ferramentasAutomation for tool windows
O ambiente fornece automação em uma janela de ferramenta retornando um Window objeto padrão, conforme explicado no procedimento a seguir:The environment provides automation on a tool window by returning a standard Window object as explained in the following procedure:
Chame o GetProperty método por meio do ambiente com __VSFPROPID. VSFPROPID_ExtWindowObject como
VSFPROPID
parâmetro para obter oWindow
objeto.Call the GetProperty method via the environment with __VSFPROPID.VSFPROPID_ExtWindowObject asVSFPROPID
parameter to get theWindow
object.Quando um chamador solicita um objeto de automação específico do VSPackage para a janela de ferramentas por meio do Object , o ambiente chama
QueryInterface
paraIExtensibleObject
, IVsExtensibleObject ou asIDispatch
interfaces.When a caller requests a VSPackage-specific automation object for your tool window through Object, the environment callsQueryInterface
forIExtensibleObject
, IVsExtensibleObject, or theIDispatch
interfaces.IExtensibleObject
EIVsExtensibleObject
fornecem um GetAutomationObject método.BothIExtensibleObject
andIVsExtensibleObject
provide a GetAutomationObject method.Quando o ambiente chama o
GetAutomationObject
método passandoNULL
, responde passando o objeto específico do VSPackage.When the environment then calls theGetAutomationObject
method passingNULL
, respond by passing back your VSPackage-specific object.Se
QueryInterface
a chamada forIExtensibleObject
eIVsExtensibleObject
falhar, o ambiente chamaráQueryInterface
paraIDispatch
.If callingQueryInterface
forIExtensibleObject
andIVsExtensibleObject
fails, then the environment callsQueryInterface
forIDispatch
.
Automação para janelas de documentosAutomation for document windows
Um Document objeto padrão também está disponível no ambiente, embora um editor possa ter sua própria implementação do Document objeto implementando a IExtensibleObject
interface e respondendo ao GetAutomationObject
.A standard Document object is also available from the environment, although an editor can have its own implementation of the Document object by implementing IExtensibleObject
interface and responding to 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
IExtensibleObject
interfaces ou.In addition, an editor can provide a VSPackage-specific automation object, retrieved through the Object method, by implementing the IVsExtensibleObject
or IExtensibleObject
interfaces. Os exemplos de VSSDK contribuem com um objeto de automação de RTF específico do documento.The VSSDK samples contributes an RTF document-specific automation object.