IVsUIHierarchyWindow2.Init(IVsUIHierarchy, UInt32, Object) Methode

Definition

Initialisiert eine benutzerdefinierte Verwendung eines Benutzeroberflächen-Hierarchienfensters.

public:
 int Init(Microsoft::VisualStudio::Shell::Interop::IVsUIHierarchy ^ pUIH, System::UInt32 grfUIHWF, [Runtime::InteropServices::Out] System::Object ^ % ppunkOut);
int Init(Microsoft::VisualStudio::Shell::Interop::IVsUIHierarchy const & pUIH, unsigned int grfUIHWF, [Runtime::InteropServices::Out] winrt::Windows::Foundation::IInspectable const & & ppunkOut);
public int Init (Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy pUIH, uint grfUIHWF, out object ppunkOut);
abstract member Init : Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy * uint32 * obj -> int
Public Function Init (pUIH As IVsUIHierarchy, grfUIHWF As UInteger, ByRef ppunkOut As Object) As Integer

Parameter

pUIH
IVsUIHierarchy

[in] Zu initialisierende IVsUIHierarchy.

grfUIHWF
UInt32

[in] Eigenschaften des Benutzeroberflächenhierarchienfensters. Eine Liste der Werte finden Sie unter der __UIHWINFLAGS-Enumeration.

ppunkOut
Object

[out] Zeiger auf die IUnknown-Schnittstelle des IVsWindowFrame2-Objekts, das das UI-Hierarchienfenster enthält.

Gibt zurück

Int32

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Bei einem Fehler wird ein Fehlercode zurückgegeben.

Implementiert

Hinweise

Das Projektfenster der Umgebung ist ein wiederverwendbares Benutzeroberflächen Element. VSPackages können eine Instanz eines UI-Hierarchie Fensters verwenden, um ein Tool Fenster zu erhalten, das ähnlich wie das integrierte Projektfenster funktioniert. Ein Beispiel für die Verwendung des UI-Hierarchie Fensters ist die Server-Explorer.

Ein UI-Hierarchie Fenster wird erstellt, indem CLSID_VSUIHIERARCHYWINDOW in einem aufgerufen wird, der die-Methode aufruft CreateToolWindow . Der Zugriff auf die- IVsUIHierarchyWindow Schnittstelle ist über die-Schnittstelle IUnknown::QueryInterface VSFPROPID_DocView des von diesem-Befehl zurückgegebenen Tool Fensters möglich.

Wenn Sie zu einem beliebigen Dienst für das UI-Hierarchie Fenster (z. b. den SID_SVsTrackSelectionEx-Dienst oder den SID_SUndoManager-Dienst) zugreifen müssen, können Sie die VSFPROPID_SPFrame Eigenschaft aus dem Fensterrahmen des UI-Hierarchie Fensters abrufen. Dadurch wird die- IServiceProvider Schnittstelle des Fensterrahmens zurückgegeben.

UI-Hierarchie Fenster, die über mehrere Knoten der obersten Ebene verfügen, benötigen eine Möglichkeit, eine Auswahl zu verarbeiten, die mehrere Hierarchien einschließt. Dies liegt daran, dass die allgemeine übergeordnete Hierarchie Befehle behandelt, wenn die Auswahl zwischen Hierarchien erfolgt. Führen Sie einen der folgenden Schritte aus, um diese Auswahl zu behandeln:

  • Lassen Sie die Mehrfachauswahl nicht zu, indem Sie den Wert von grfUIHWF auf festlegen UIHWF_ForceSingleSelect .

  • SolutionObjectLegen Sie das integrierte Handle für die Hierarchie übergreifende Auswahl fest, indem Sie den Wert von grfUIHWF auf festlegen UIHWF_UseSolutionAsHiddenRootHierarchy .

  • Geben Sie ein benutzerdefiniertes- IVsHierarchy Objekt als Knoten der verborgenen Stamm Hierarchie grfUIHWF an, indem Sie den Wert von auf festlegen UIHWF_InitWithHiddenRootHierarchy Diese Stamm Hierarchie darf keine untergeordneten Elemente aufweisen und wird nur verwendet, um die Auswahl über mehrere Hierarchien der obersten Ebene zu verarbeiten. Legen Sie den Wert von auf fest, um eine ausgeblendete Stamm Hierarchie anzugeben, die dem Knoten der obersten Ebene übergeordnet ist grfUIHWF UIHWF_InitWithHiddenParentRoot .

Gilt für