IVsUIHierarchyWindow.Init(IVsUIHierarchy, UInt32, Object) Método

Definição

Inicializa um uso personalizado de uma janela de hierarquia da interface do usuário.

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

Parâmetros

pUIH
IVsUIHierarchy

[in] IVsUIHierarchy para inicializar.

grfUIHWF
UInt32

no Características da janela hierarquia da interface do usuário. Para obter uma lista de valores, consulte a __UIHWINFLAGS enumeração.

ppunkOut
Object

fora Ponteiro para a IUnknown interface do IVsWindowFrame objeto que contém a janela da hierarquia da interface do usuário.

Retornos

Int32

Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.

Comentários

Assinatura COM

De VSShell. idl:

HRESULT IVsUIHierarchyWindow::Init(  
   [in] IVsUIHierarchy *pUIH,  
   [in] UIHWINFLAGS grfUIHWF,  
   [out] IUnknown** ppunkOut  
);  

A janela de projeto do ambiente é um elemento de interface do usuário reutilizável. VSPackages pode usar uma instância de uma janela de hierarquia de interface do usuário para ter uma janela de ferramentas que funcione de forma semelhante à janela de projeto interna. Um exemplo de uso da janela hierarquia da interface do usuário é o Gerenciador de servidores.

Uma janela de hierarquia de interface do usuário é criada passando CLSID_VsUIHierarchyWindow uma chamada para o método CreateToolWindow . A IVsUIHierarchyWindow interface pode ser acessada usando a interface QueryInterface do VSFPROPID_DocView objeto da janela de ferramentas retornada por essa chamada.

Se você precisar acessar qualquer serviço acessível à janela da hierarquia da interface do usuário (por exemplo, o serviço SID_SVsTrackSelectionEx ou o serviço SID_SUndoManager), poderá recuperar a VSFPROPID_SPFrame Propriedade do quadro da janela da janela da hierarquia da interface do usuário. Isso retorna a IServiceProvider interface do quadro da janela.

As janelas de hierarquia da interface do usuário que têm vários nós de nível superior exigem uma maneira de lidar com seleções que incluem várias hierarquias. Isso ocorre porque a hierarquia pai comum manipula comandos, se a seleção estiver entre hierarquias. Para lidar com essas seleções, siga um destes procedimentos:

  • Não permitir seleção múltipla, definindo o valor de grfUIHWF como UIHWF_ForceSingleSelect.

  • Tenha o interno SolutionObject usado para lidar com seleções de hierarquia cruzada, definindo o valor de grfUIHWF para UIHWF_UseSolutionAsHiddenRootHierarchy .

  • Especifique um IVsHierarchy objeto personalizado como o nó da hierarquia raiz oculta, definindo o valor de grfUIHWF como UIHWF_InitWithHiddenRootHierarchy . Essa hierarquia raiz não pode ter nenhum filho e é usada somente para lidar com seleções em várias hierarquias de nível superior. Para especificar uma hierarquia raiz oculta que seja o pai de nós de nível superior, defina o valor de grfUIHWF como UIHWF_InitWithHiddenParentRoot .

Aplica-se a