Sdílet prostřednictvím


IVsUIShell.CreateToolWindow – metoda (UInt32, UInt32, Object, Guid, Guid, Guid, IServiceProvider, String, Int32 , IVsWindowFrame)

 

Tato metoda vytvoří nástroj okno obsahující vkládání podle punkDocView, nebo clsidDocView parametr, pokud punkDocView parametr je null.

Obor názvů:   Microsoft.VisualStudio.Shell.Interop
Sestavení:  Microsoft.VisualStudio.Shell.Interop (v Microsoft.VisualStudio.Shell.Interop.dll)

Syntaxe

int CreateToolWindow(
    uint grfCTW,
    uint dwToolWindowId,
    object punkTool,
    [InAttribute] ref Guid rclsidTool,
    [InAttribute] ref Guid rguidPersistenceSlot,
    [InAttribute] ref Guid rguidAutoActivate,
    IServiceProvider psp,
    string pszCaption,
    int[] pfDefaultPosition,
    out IVsWindowFrame ppWindowFrame
)
int CreateToolWindow(
    unsigned int grfCTW,
    unsigned int dwToolWindowId,
    Object^ punkTool,
    [InAttribute] Guid% rclsidTool,
    [InAttribute] Guid% rguidPersistenceSlot,
    [InAttribute] Guid% rguidAutoActivate,
    IServiceProvider^ psp,
    String^ pszCaption,
    array<int>^ pfDefaultPosition,
    [OutAttribute] IVsWindowFrame^% ppWindowFrame
)
abstract CreateToolWindow : 
        grfCTW:uint32 *
        dwToolWindowId:uint32 *
        punkTool:Object *
        rclsidTool:Guid byref *
        rguidPersistenceSlot:Guid byref *
        rguidAutoActivate:Guid byref *
        psp:IServiceProvider *
        pszCaption:string *
        pfDefaultPosition:int[] *
        ppWindowFrame:IVsWindowFrame byref -> int
Function CreateToolWindow (
    grfCTW As UInteger,
    dwToolWindowId As UInteger,
    punkTool As Object,
    <InAttribute> ByRef rclsidTool As Guid,
    <InAttribute> ByRef rguidPersistenceSlot As Guid,
    <InAttribute> ByRef rguidAutoActivate As Guid,
    psp As IServiceProvider,
    pszCaption As String,
    pfDefaultPosition As Integer(),
    <OutAttribute> ByRef ppWindowFrame As IVsWindowFrame
) As Integer

Parametry

  • grfCTW
    [v] Určuje způsob vytvoření nového okna nástroje.Další informace naleznete v tématu __VSCREATETOOLWIN.
  • dwToolWindowId
    [v] ID instance okna nástrojePři vytváření okna jedné instance nástroje, pak předejte průchod nula pro tento parametr.Pokud vytváříte více instancí nástroje okna, pak předejte identifikátor pro další okno k dispozici nástroj.
  • punkTool
    [v] Objekt zobrazení má být zobrazeno v okně nástroje v oblasti klienta.Tento objekt může být ovládací prvek Active X (jako například IOleInPlaceActiveObject, IOleControl), dokument Active X (jako například IOleView, IOleDocument), nebo jednoduché prostředí vložení (IVsWindowPane).Může být null Pokud je hodnota rclsidTool.
  • rclsidTool
    [v] Nástroj pro vytvoření třídy ID typu okna nástroje.Uvedené třídy je vytvořena pomocí CreateInstance (clsidTool).Tato funkce je pohodlí pro volající.Může být GUID_NULL, pokud je hodnota punkTool.
  • rguidPersistenceSlot
    [v] Jedinečný identifikátor pro toto okno nástroje tak prostředí můžete zachovat informace (například umístění okna, dokovací stav atd.) o toto okno nástroje v relacích.Žádné dva nástroje windows můžete sdílet stejný identifikátor GUID.Pokud ano, druhé okno nástroj selže vytváření.
  • rguidAutoActivate
    [v] Musí být GUID_NULL.Nepoužívejte.Další informace o jak je řízena viditelnost okna nástroje naleznete přehled okna nástroje.
  • psp
    [v] Ukazatel IServiceProvider rozhraní.Může být null. Tento parametr umožňuje volajícímu zadat další poskytovatel metadat stanovené v okně nástroje a poskytnout tedy navíc kontextu okno nástroje prostřednictvím služby.Při vkládání požadavek na službu, rámeček se pokusí tento požadavek splňovat.Pokud rámeček neposkytuje služby, je dotázána služba určená v parametru psp.Pokud služba není není nalezen, je dotazován poskytovatel metadat globální životní prostředí.
  • pszCaption
    [v] Titulek okna nástroje.
  • pfDefaultPosition
    [výstup] Ukazatel na výchozí umístění okna nástroje.Může být null, pokud volající není si přejí tyto informace.Pokud false, pak prostředí neobsahoval žádné uložené informace o poslední pozice okna nástroje (, guidPersistenceSlot nebyl nalezen), a v okně Nástroj je umístěn v některé výchozí umístění na obrazovce.Pokud nastavena na true, pak okna je umístěn, kde uživatel naposledy umístěn a jeho velikosti.
  • ppWindowFrame
    [výstup] Ukazatel na rám okna obsahující okno nástroje.Pomocí tohoto ukazatele k manipulaci, umístění, velikost, titulek a podobně okna nástroje a získat IUnknown ukazatele rozhraní vložení.

Vrácená hodnota

Type: System.Int32

Pokud metoda uspěje, vrací S_OK.Pokud se nezdaří, vrátí kód chyby.

Poznámky

Podpis COM

Z vsshell.idl:

HRESULT IVsUIShell::CreateToolWindow(
   [in] VSCREATETOOLWIN grfCTW,
   [in] DWORD dwToolWindowId,
   [in] IUnknown *punkTool,
   [in] REFCLSID rclsidTool,
   [in] REFGUID rguidPersistenceSlot,
   [in] REFGUID rguidAutoActivate,
   [in] IServiceProvider *pSP,
   [in] LPCOLESTR pszCaption,
   [out] BOOL *pfDefaultPosition,
   [out] IVsWindowFrame **ppWindowFrame
);

Buď předáte hodnotu punkTool parametr nebo rclsidTool parametr.Pokud předáte hodnotu rclsidTool, pak prostředí vytvoří objekt pomocí rclsidTool.Uvedené třídy je vytvořena pomocí CreateInstance (clsidTool).

ToolFrame objektu prostředí implementovat vrácena, z nichž jeden můžete získat punkDocView, titulek, umístění a tak dále.Úplný seznam vlastností, které lze získat přístup, viz __VSFPROPID.

Nástroje systému windows jsou vytvořeny v neviditelné státu.Použití Show nebo ShowNoActivate a aktivujte okno nástroje.

Instanci okna UI hierarchie je vytvořena voláním IVsUIShell::CreateToolWindow (CLSID_VsUIHierarchyWindow).Volající Vrácený ukazatel na rám okna pomocí můžete získat ppunkDocView, na kterém QueryInterface lze volat pro ukazatel na IVsUIHierarchyWindow rozhraní.

Viz také

IVsUIShell – rozhraní
Microsoft.VisualStudio.Shell.Interop – obor názvů

Zpátky na začátek