Windows2.CreateToolWindow2 Yöntem

Tanım

Yeni bir araç penceresi oluşturur ve içinde Kullanıcı tanımlı, .NET denetimi barındırır.

public:
 EnvDTE::Window ^ CreateToolWindow2(EnvDTE::AddIn ^ Addin, System::String ^ Assembly, System::String ^ Class, System::String ^ Caption, System::String ^ GuidPosition, [Runtime::InteropServices::Out] System::Object ^ % ControlObject);
EnvDTE::Window CreateToolWindow2(EnvDTE::AddIn const & Addin, std::wstring const & Assembly, std::wstring const & Class, std::wstring const & Caption, std::wstring const & GuidPosition, [Runtime::InteropServices::Out] winrt::Windows::Foundation::IInspectable const & & ControlObject);
[System.Runtime.InteropServices.DispId(400)]
public EnvDTE.Window CreateToolWindow2 (EnvDTE.AddIn Addin, string Assembly, string Class, string Caption, string GuidPosition, out object ControlObject);
[<System.Runtime.InteropServices.DispId(400)>]
abstract member CreateToolWindow2 : EnvDTE.AddIn * string * string * string * string * obj -> EnvDTE.Window
Public Function CreateToolWindow2 (Addin As AddIn, Assembly As String, Class As String, Caption As String, GuidPosition As String, ByRef ControlObject As Object) As Window

Parametreler

Addin
AddIn

Araç penceresi oluşturma eklentisinin bir örneği.

Assembly
String

Kullanıcı denetimini içeren derlemenin tam adı veya dosya yolu.

Class
String

Kullanıcı denetimini uygulayan sınıfın tam adı.

Caption
String

Yeni araç penceresinde görüntülenecek açıklamalı alt yazı.

GuidPosition
String

Yeni pencere için benzersiz bir tanımlayıcı. (Bu, koleksiyondaki pencereyi bulmak için kullanılabilir Windows .)

ControlObject
Object

Yeni araç penceresinde barındırılacak Kullanıcı denetimi.

Döndürülenler

Window

Bir Window nesnesi.

Öznitelikler

Örnekler

Aşağıdaki örnek, ilk olarak bir Windows Denetim Kitaplığı projesi oluşturarak bir kullanıcı denetimi oluşturmanızı gerektirir. Aşağıdaki kodda kullanılmak üzere denetimin projesinin ve sınıfının adını aklınızda yapın. AssemblyPath dizesini Kullanıcı denetiminin DLL dosyasının diziniyle değiştirin. Ayrıca, kod OnConnection bir eklenti projesinin yönteminin yerini alacak şekilde tasarlanmıştır.

Þ

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;  
}  

Açıklamalar

CreateToolWindow2Yeni bir araç penceresi oluşturmak için ' i çağırmadan önce, Kullanıcı denetimini ( ControlObject ) eklenti ile aynı derlemeye taşımanız veya Kullanıcı denetimindeki tüm ÖZNITELIKLERI, com 'a tamamen görünür hale getirmek için ayarlamanız gerekir. (Örneğin, projenin derleme seçeneklerinde com birlikte çalışma Için kaydol seçeneğini kontrol edin.) Bunu yapmazsanız denetim doğru olarak sıralayamaz ve CreateToolWindow2 null bir değer döndürür.

Yeni araç penceresinin görünürlük durumlarını (yükseklik, genişlik veya konum gibi) ayarlamaya çalışırsanız, araç penceresi görünür olmadan önce bir hata alırsınız. Bu tür özellikleri ayarlamayı denemeden önce pencerenin görünür olduğundan emin olun.

ActiveX denetimleri oluşturma hakkında daha fazla bilgi için bkz. MFC ActiveX denetimi oluşturma.

Şunlara uygulanır