Sdílet prostřednictvím


Windows2.CreateToolWindow2 – metoda

Vytvoří nové okno nástroje a hostuje ovládací prvek .NET definované uživatelem v něm.

Obor názvů:  EnvDTE80
Sestavení:  EnvDTE80 (v EnvDTE80.dll)

Syntaxe

'Deklarace
Function CreateToolWindow2 ( _
    Addin As AddIn, _
    Assembly As String, _
    Class As String, _
    Caption As String, _
    GuidPosition As String, _
    <OutAttribute> ByRef ControlObject As Object _
) As Window
Window CreateToolWindow2(
    AddIn Addin,
    string Assembly,
    string Class,
    string Caption,
    string GuidPosition,
    out Object ControlObject
)
Window^ CreateToolWindow2(
    AddIn^ Addin, 
    String^ Assembly, 
    String^ Class, 
    String^ Caption, 
    String^ GuidPosition, 
    [InAttribute] [OutAttribute] Object^% ControlObject
)
abstract CreateToolWindow2 : 
        Addin:AddIn * 
        Assembly:string * 
        Class:string * 
        Caption:string * 
        GuidPosition:string * 
        ControlObject:Object byref -> Window
function CreateToolWindow2(
    Addin : AddIn, 
    Assembly : String, 
    Class : String, 
    Caption : String, 
    GuidPosition : String, 
    ControlObject : Object
) : Window

Parametry

  • Addin
    Typ: AddIn

    Instance doplňku vytváření okno nástroje.

  • Assembly
    Typ: String

    Úplný název nebo cesta souboru sestavení obsahující uživatelský ovládací prvek.

  • Class
    Typ: String

    Úplný název třídy implementace uživatelského ovládacího prvku.

  • Caption
    Typ: String

    Titulek zobrazit v novém okně nástroje.

  • GuidPosition
    Typ: String

    Jedinečný identifikátor v novém okně. (Slouží k vyhledání v okně Windows kolekce.)

  • ControlObject
    Typ: Object%

    Uživatelský ovládací prvek hostitelem nové okno nástroje.

Vrácená hodnota

Typ: Window
Objekt Window.

Poznámky

Před vyvoláním metody CreateToolWindow2 pro vytvoření nového okna panelu nástrojů je třeba přesunout uživatelský ovládací prvek (ControlObject) do stejného sestavení, ve kterém se nachází doplněk, nebo nastavit všechny atributy uživatelského ovládacího prvku pro jeho aktivaci a úplné zobrazení v modelu COM. (Například kontrolou možnosti Provést registraci pro zprostředkovatele komunikace s objekty COM v nastavení kompilace projektu.) Není-li toto provedeno, nebude provedeno správné zařazení ovládacího prvku a CreateToolWindow2 vrátí hodnotu null.

Pokud se pokusíte nastavit stav viditelnosti nové okno nástroje – například výšku, šířku nebo pozice – dříve, než je zobrazena v okně nástroje, obdržíte chybu.Ujistěte se, že v okně je zobrazen před pokusem o nastavení těchto vlastností.

Další příklady použití této metody naleznete na vzorku ToolWindow Visual Studio automatizace vzorky webové stránky: https://www.microsoft.com/downloads/details.aspx?familyid=3ff9c915-30e5-430e-95b3-621dccd25150&displaylang=en.Informace o vytváření ovládacích prvků ActiveX naleznete v tématu Vytvoření ovládacího prvku ActiveX knihovny MFC.

Příklady

Následující příklad vyžaduje nejprve vytvořit uživatelský ovládací prvek vytvořením projektu knihovny ovládacích prvků Windows.Poznamenejte si název projektu a třídy ovládacího prvku pro použití v následujícím kódu.Změňte řetězec assemblypath do adresáře souboru DLL uživatelského ovládacího prvku.Navíc kód slouží k nahrazení OnConnection metoda přidat do projektu.

[C#]

public void OnConnection(object application, ext_ConnectMode 
  connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    EnvDTE80.Windows2 wins2obj;
    AddIn addinobj;
    object ctlobj = null;
    Window newWinobj;

    // A toolwindow must be connected to an add-in, so this line 
    // references one.
    addinobj = _applicationObject.AddIns.Item(1);
    wins2obj = (Windows2)_applicationObject.Windows;

    // This section specifies the path and class name of the windows 
    // control that you want to host in the new tool window, as well as 
    // its caption and a unique GUID.
    string assemblypath = "C:\\temp\\WindowsControlLibrary1.dll";
    string classname = "WindowsControlLibrary1.UserControl1";
    string guidpos = "{426E8D27-3D33-4FC8-B3E9-9883AADC679F}";
    string caption = "CreateToolWindow2 Test";

    // Create the new tool window and insert the user control in it.
    newWinobj = wins2obj.CreateToolWindow2(addinobj, assemblypath, 
      classname, caption, guidpos, ref ctlobj);
    newWinobj.Visible = true;
}

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

Windows2 Rozhraní

EnvDTE80 – obor názvů

Další zdroje

Postupy: Vytvoření a řízení oken nástrojů

Postupy: Kompilace a spuštění příkladů kódu objektu automatizace