Partager via


UIHierarchy, interface

Représente les fenêtres Outil standard dans l'environnement de développement intégré (IDE, Integrated Development Environment) qui utilisent des arborescences hiérarchiques de données, comme l'Explorateur de solutions, l'Explorateur de serveurs et l'Explorateur de macros.

Espace de noms :  EnvDTE
Assembly :  EnvDTE (dans EnvDTE.dll)

Syntaxe

'Déclaration
<GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")> _
Public Interface UIHierarchy
[GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")]
public interface UIHierarchy
[GuidAttribute(L"72A2A2EF-C209-408C-A377-76871774ADB7")]
public interface class UIHierarchy
[<GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")>]
type UIHierarchy =  interface end
public interface UIHierarchy

Le type UIHierarchy expose les membres suivants.

Propriétés

  Nom Description
Propriété publique DTE Obtient l'objet d'extensibilité de niveau supérieur.
Propriété publique Parent Obtient l'objet parent immédiat d'un objet UIHierarchy.
Propriété publique SelectedItems Obtient une collection de tous les éléments actuellement sélectionnés.
Propriété publique UIHierarchyItems Obtient une collection représentant les enfants de l'élément.

Début

Méthodes

  Nom Description
Méthode publique DoDefaultAction Exécute dans l'arborescence la même action qu'un double-clic ou que la touche ENTRÉE.
Méthode publique GetItem Obtient l'élément désigné par un chemin d'accès donné.
Méthode publique SelectDown Sélectionne le nœud situé immédiatement en dessous du nœud sélectionné, selon l'état de développement de l'arborescence.
Méthode publique SelectUp Sélectionne le nœud situé immédiatement au-dessus du nœud sélectionné, selon l'état de développement de l'arborescence.

Début

Notes

L'objet UIHierarchy fournit un modèle objet commun pour les fenêtres Outil standard qui présentent les données hiérarchiques sous forme d'arborescence. Vous pouvez sélectionner des éléments quel que soit l'état de développement de l'arborescence. Si vous sélectionnez un élément qui n'apparaît pas dans l'arborescence en cours, celle-ci se développe de manière à l'afficher.

Vous pouvez obtenir cet objet en appliquant Window.Object à n'importe quelle fenêtre Outil standard de l'arborescence.

Étant donné que l'objet UIHierarchy représente toute fenêtre de type arborescence, il s'agit d'un objet Window. Sa propriété UIHierarchyItems retourne la collection de nœuds de niveau supérieur de la fenêtre spécifiée. Dans l'Explorateur de solutions, il y a un seul nœud de niveau supérieur, la solution. Dans l'Explorateur de macros, il y a également un seul nœud de niveau supérieur, le nœud Macros. De ce fait, les nœuds de projets ne se trouvent pas dans la collection UIHierarchyItems de la fenêtre, mais dans la collection du nœud de niveau supérieur.

Sachant cela, il existe deux moyens d'accéder à un nœud particulier (UIHierarchyItem) :

  • Utilisez la méthode GetItem pour référencer directement le nœud souhaité.

  • Utilisation UIHierarchyItems.Item.UIHierarchyItems... (une collection de modèle d'élément/collection…).

    Pour descendre davantage dans la hiérarchie d'un nœud, continuez à utiliser ce modèle. Par exemple, pour atteindre le deuxième nœud placé sous le nœud de niveau supérieur, vous pouvez utiliser UIHierarchy.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2).

Vous trouverez ci-dessous des exemples d'utilisation de ces deux techniques pour accéder à un nœud de niveau inférieur.

Exemples

Cet exemple utilise la méthode GetItem pour accéder à un nœud dans un objet UIHierarchy.

Sub UIHierarchyExample1()
   'Reference the UIHierarchy, UIHierarchyItem, and OutputWindow objects.
   Dim UIH As UIHierarchy = _
     DTE.Windows.Item(Constants.vsWindowKindMacroExplorer).Object
   Dim samples As UIHierarchyItem = UIH.GetItem("Macros\Samples")
   Dim OWPane As OutputWindowPane = GetOutputWindowPane("List Macros")
   Dim file As UIHierarchyItem

   OWPane.Clear()
   For Each file In samples.UIHierarchyItems
      OWPane.OutputString(file.Name & _
        Microsoft.VisualBasic.Constants.vbCrLf)
      Dim macro As UIHierarchyItem
      For Each macro In file.UIHierarchyItems
         OWPane.OutputString("   " & macro.Name & _
           Microsoft.VisualBasic.Constants.vbCrLf)
      Next
   Next
End Sub

Function GetOutputWindowPane(ByVal Name As String, Optional ByVal show _
  As Boolean = True) As OutputWindowPane
   Dim win As Window = _
     DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)
   If show Then win.Visible = True
   Dim ow As OutputWindow = win.Object
   Dim owpane As OutputWindowPane
   Try
      owpane = ow.OutputWindowPanes.Item(Name)
   Catch e As System.Exception
      owpane = ow.OutputWindowPanes.Add(Name)
   End Try
   owpane.Activate()
   Return owpane
End Function

Cet exemple utilise la méthode UIHierarchyItems.Item.UIHierarchyItems pour accéder à un nœud dans un objet UIHierarchy.

Sub UIHierarchyExample2()
   Dim UIH As UIHierarchy = _
     DTE.Windows.Item(Constants.vsWindowKindMacroExplorer).Object
     ' Set a reference to the "Samples" node in Macro Explorer. The 
     ' collections are one-based.
     Dim UIHItem As UIHierarchyItem = _
     UIH.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2)
   Dim file As UIHierarchyItem
   Dim OWPane As OutputWindowPane = GetOutputWindowPane("List Macros")
   For Each file In UIHItem.UIHierarchyItems
      OWPane.OutputString(file.Name & _
        Microsoft.VisualBasic.Constants.vbCrLf)
      Dim macro As UIHierarchyItem
      For Each macro In file.UIHierarchyItems
         OWPane.OutputString("   " & macro.Name & _
           Microsoft.VisualBasic.Constants.vbCrLf)
      Next
   Next
End Sub

Voir aussi

Référence

EnvDTE, espace de noms

Autres ressources

Comment : manipuler des arborescences à l'aide de l'objet UIHierarchy