共用方式為


為視窗提供自動化

您可以為文件和工具視窗提供自動化。 每當您想要在視窗上提供自動化物件,而環境尚未提供現成的自動化物件 (如工作清單),就建議提供自動化。

工具視窗的自動化

環境透過傳回標準 Window 物件,在工具視窗上提供自動化,如以下程序所述:

  1. 使用 __VSFPROPID.VSFPROPID_ExtWindowObjectVSFPROPID 參數,透過環境呼叫 GetProperty 方法取得 Window 物件。

  2. 當呼叫者透過 Object 向工具視窗要求 VSPackage 特定的自動化物件時,環境會呼叫 QueryInterface 取得 IExtensibleObjectIVsExtensibleObjectIDispatch 介面。 IExtensibleObjectIVsExtensibleObject 都提供 GetAutomationObject 方法。

  3. 當環境接著呼叫傳遞 NULLGetAutomationObject 方法時,會透過傳回 VSPackage 特定物件進行回應。

  4. 如果為 IExtensibleObjectIVsExtensibleObject 呼叫 QueryInterface 失敗,則環境會為 IDispatch 呼叫 QueryInterface

文件視窗的自動化

環境也提供一個標準的 Document 物件,不過編輯器可以透過實作 IExtensibleObject 介面和回應 GetAutomationObject 來實作自己的 Document 物件。

此外,編輯器可以藉由實作 IVsExtensibleObjectIExtensibleObject 介面,提供透過 Object 方法檢索的 VSPackage 特定自動化物件。 VSSDK 範例提供 RTF 文件特定的自動化物件。