Share via


La classe CTreeCtrl

Fournit les fonctionnalités du contrôle commun d’arborescence Windows.

Syntaxe

class CTreeCtrl : public CWnd

Membres

Constructeurs publics

Nom Description
CTreeCtrl::CTreeCtrl Construit un objet CTreeCtrl.

Méthodes publiques

Nom Description
CTreeCtrl::Create Crée un contrôle d’arborescence et l’attache à un CTreeCtrl objet.
CTreeCtrl::CreateDragImage Crée une bitmap de glissement pour l’élément d’arborescence spécifié.
CTreeCtrl::CreateEx Crée un contrôle d’arborescence avec les styles étendus Windows spécifiés et l’attache à un CTreeCtrl objet.
CTreeCtrl::DeleteAllItems Supprime tous les éléments d’un contrôle d’arborescence.
CTreeCtrl::DeleteItem Supprime un nouvel élément dans un contrôle d’arborescence.
CTreeCtrl::EditLabel Modifie un élément d’arborescence spécifié sur place.
CTreeCtrl::EndEditLabelNow Annule l’opération de modification sur l’étiquette d’un élément d’arborescence dans le contrôle d’arborescence actuel.
CTreeCtrl::EnsureVisible Garantit qu’un élément d’arborescence est visible dans son contrôle d’arborescence.
CTreeCtrl::Expand Développe ou réduit les éléments enfants de l’élément d’arborescence spécifié.
CTreeCtrl::GetBkColor Récupère la couleur d’arrière-plan actuelle du contrôle.
CTreeCtrl::GetCheck Récupère l’état case activée d’un élément de contrôle d’arborescence.
CTreeCtrl::GetChildItem Récupère l’enfant d’un élément d’arborescence spécifié.
CTreeCtrl::GetCount Récupère le nombre d’éléments d’arborescence associés à un contrôle d’arborescence.
CTreeCtrl::GetDropHilightItem Récupère la cible d’une opération de glisser-déplacer.
CTreeCtrl::GetEditControl Récupère le handle du contrôle d’édition utilisé pour modifier l’élément d’arborescence spécifié.
CTreeCtrl::GetExtendedStyle Récupère les styles étendus que le contrôle d’arborescence actuel utilise.
CTreeCtrl::GetFirstVisibleItem Récupère le premier élément visible de l’élément d’arborescence spécifié.
CTreeCtrl::GetImageList Récupère le handle de la liste d’images associée à un contrôle d’arborescence.
CTreeCtrl::GetIndent Récupère le décalage (en pixels) d’un élément d’arborescence à partir de son parent.
CTreeCtrl::GetInsertMarkColor Récupère la couleur utilisée pour dessiner la marque d’insertion de l’arborescence.
CTreeCtrl::GetItem Récupère les attributs d’un élément d’arborescence spécifié.
CTreeCtrl::GetItemData Retourne la valeur spécifique à l’application associée à un élément.
CTreeCtrl::GetItemExpandedImageIndex Récupère l’index de l’image à afficher lorsque l’élément spécifié du contrôle d’arborescence actuel est dans l’état développé.
CTreeCtrl::GetItemHeight Récupère la hauteur actuelle des éléments d’arborescence.
CTreeCtrl::GetItemImage Récupère les images associées à un élément.
CTreeCtrl::GetItemPartRect Récupère le rectangle englobant pour une partie spécifiée d’un élément spécifié dans le contrôle d’arborescence actuel.
CTreeCtrl::GetItemRect Récupère le rectangle englobant d’un élément d’arborescence.
CTreeCtrl::GetItemState Retourne l’état d’un élément.
CTreeCtrl::GetItemStateEx Récupère l’état étendu de l’élément spécifié dans le contrôle d’arborescence actuel.
CTreeCtrl::GetItemText Retourne le texte d’un élément.
CTreeCtrl::GetLastVisibleItem Récupère le dernier élément développé dans le contrôle d’arborescence actuel.
CTreeCtrl::GetLineColor Récupère la couleur de ligne actuelle pour le contrôle d’arborescence.
CTreeCtrl::GetNextItem Récupère l’élément d’arborescence suivant qui correspond à une relation spécifiée.
CTreeCtrl::GetNextSiblingItem Récupère le frère suivant de l’élément d’arborescence spécifié.
CTreeCtrl::GetNextVisibleItem Récupère l’élément visible suivant de l’élément d’arborescence spécifié.
CTreeCtrl::GetParentItem Récupère le parent de l’élément d’arborescence spécifié.
CTreeCtrl::GetPrevSiblingItem Récupère le frère précédent de l’élément d’arborescence spécifié.
CTreeCtrl::GetPrevVisibleItem Récupère l’élément visible précédent de l’élément d’arborescence spécifié.
CTreeCtrl::GetRootItem Récupère la racine de l’élément d’arborescence spécifié.
CTreeCtrl::GetScrollTime Récupère la durée de défilement maximale pour le contrôle d’arborescence.
CTreeCtrl::GetSelectedCount Récupère le nombre d’éléments sélectionnés dans le contrôle d’arborescence actuel.
CTreeCtrl::GetSelectedItem Récupère l’élément d’arborescence actuellement sélectionné.
CTreeCtrl::GetTextColor Récupère la couleur de texte actuelle du contrôle.
CTreeCtrl::GetToolTips Récupère le handle dans le contrôle enfant ToolTip utilisé par un contrôle d’arborescence.
CTreeCtrl::GetVisibleCount Récupère le nombre d’éléments d’arborescence visibles associés à un contrôle d’arborescence.
CTreeCtrl::HitTest Retourne la position actuelle du curseur lié à l’objet CTreeCtrl .
CTreeCtrl::InsertItem Insère un nouvel élément dans un contrôle d’arborescence.
CTreeCtrl::ItemHasChildren Retourne une valeur différente de zéro si l’élément spécifié a des éléments enfants.
CTreeCtrl::MapAccIdToItem Cartes l’identificateur d’accessibilité spécifié au handle d’un élément d’arborescence dans le contrôle d’arborescence actuel.
CTreeCtrl::MapItemToAccID Cartes le handle spécifié à un élément d’arborescence dans le contrôle d’arborescence actuel à un identificateur d’accessibilité.
CTreeCtrl::Select Sélectionne, fait défiler l’affichage ou redessine un élément d’arborescence spécifié.
CTreeCtrl::SelectDropTarget Redessine l’élément d’arborescence comme cible d’une opération de glisser-déplacer.
CTreeCtrl::SelectItem Sélectionne un élément d’arborescence spécifié.
CTreeCtrl::SelectSetFirstVisible Sélectionne un élément d’arborescence spécifié comme premier élément visible.
CTreeCtrl::SetAutoscrollInfo Définit le taux d’inscription automatique du contrôle d’arborescence actuel.
CTreeCtrl::SetBkColor Définit la couleur d’arrière-plan du contrôle.
CTreeCtrl::SetCheck Définit l’état case activée d’un élément de contrôle d’arborescence.
CTreeCtrl::SetExtendedStyle Définit les styles étendus pour le contrôle d’arborescence actuel.
CTreeCtrl::SetImageList Définit le handle de la liste d’images associée à un contrôle d’arborescence.
CTreeCtrl::SetIndent Définit le décalage (en pixels) d’un élément d’arborescence à partir de son parent.
CTreeCtrl::SetInsertMark Définit la marque d’insertion dans un contrôle d’arborescence.
CTreeCtrl::SetInsertMarkColor Définit la couleur utilisée pour dessiner la marque d’insertion de l’arborescence.
CTreeCtrl::SetItem Définit les attributs d’un élément d’arborescence spécifié.
CTreeCtrl::SetItemData Définit la valeur spécifique à l’application associée à un élément.
CTreeCtrl::SetItemExpandedImageIndex Définit l’index de l’image à afficher lorsque l’élément spécifié du contrôle d’arborescence actuel est dans l’état développé.
CTreeCtrl::SetItemHeight Définit la hauteur des éléments d’arborescence.
CTreeCtrl::SetItemImage Associe des images à un élément.
CTreeCtrl::SetItemState Définit l’état d’un élément.
CTreeCtrl::SetItemStateEx Définit l’état étendu de l’élément spécifié dans le contrôle d’arborescence actuel.
CTreeCtrl::SetItemText Définit le texte d’un élément.
CTreeCtrl::SetLineColor Définit la couleur de ligne actuelle pour le contrôle d’arborescence.
CTreeCtrl::SetScrollTime Définit la durée de défilement maximale pour le contrôle d’arborescence.
CTreeCtrl::SetTextColor Définit la couleur du texte du contrôle.
CTreeCtrl::SetToolTips Définit le contrôle enfant ToolTip d’un contrôle d’arborescence.
CTreeCtrl::ShowInfoTip Affiche l’info-bulle de l’élément spécifié dans le contrôle d’arborescence actuel.
CTreeCtrl::SortChildren Trie les enfants d’un élément parent donné.
CTreeCtrl::SortChildrenCB Trie les enfants d’un élément parent donné à l’aide d’une fonction de tri définie par l’application.

Notes

Un « contrôle d’arborescence » est une fenêtre qui affiche une liste hiérarchique d’éléments, comme les en-têtes d’un document, les entrées d’un index ou les fichiers et répertoires sur un disque. Chaque élément se compose d’une étiquette et d’une image bitmap facultative, et chaque élément peut avoir une liste de sous-éléments qui lui sont associés. En cliquant sur un élément, l’utilisateur peut développer et réduire la liste associée des sous-éléments.

Ce contrôle (et par conséquent la CTreeCtrl classe) est disponible uniquement pour les programmes exécutés sous Windows 98 et Windows NT version 4 et ultérieure.

Pour plus d’informations sur l’utilisation CTreeCtrl, consultez :

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CTreeCtrl

Spécifications

En-têteafxcmn.h:

CTreeCtrl::Create

Si vous spécifiez le contrôle d’arborescence dans un modèle de boîte de dialogue ou si vous utilisez CTreeView, votre contrôle d’arborescence est créé automatiquement lorsque la boîte de dialogue ou la vue est créée.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paramètres

dwStyle
Spécifie le style du contrôle d’arborescence. Appliquez des styles de fenêtre, décrits dans CreateWindow, et toute combinaison de styles de contrôle d’arborescence, comme décrit dans le Kit de développement logiciel (SDK) Windows.

rect
Spécifie la taille et la position du contrôle d’arborescence. Il peut s’agir d’un objet ou d’une CRectRECT structure.

pParentWnd
Spécifie la fenêtre parente du contrôle d’arborescence, généralement un CDialog. Il ne doit pas être NULL.

nID
Spécifie l’ID du contrôle d’arborescence.

Valeur de retour

Différent de zéro si l’initialisation a réussi ; sinon 0.

Notes

Si vous souhaitez créer le contrôle d’arborescence en tant que fenêtre enfant d’une autre fenêtre, utilisez la Create fonction membre. Si vous créez le contrôle d’arborescence à l’aide Createde , vous devez le transmettre WS_VISIBLE, en plus d’autres styles d’arborescence.

Vous construisez une CTreeCtrl étape en deux étapes. Appelez d’abord le constructeur, puis appelez Create, qui crée le contrôle d’arborescence et l’attache à l’objet CTreeCtrl .

Pour créer un contrôle d’arborescence avec des styles de fenêtre étendus, appelez CreateEx plutôt que Create.

Exemple

// Assuming your window has a CTreeCtrl member named m_TreeCtrl,
// you can create the tree control window with a child ID of ID_MYTREE
// using a call like this:

m_TreeCtrl.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER |
                      TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES |
                      TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_EDITLABELS,
                  CRect(10, 10, 300, 100), this, ID_MYTREE);

// The control will have the appropriate window styles, and the tree
// control styles specified are those most commonly used.

CTreeCtrl::CreateEx

Appelez cette fonction pour créer un contrôle (fenêtre enfant) et l’associer à l’objet CTreeCtrl .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paramètres

dwExStyle
Spécifie le style étendu du contrôle en cours de création. Pour obtenir la liste des styles Windows étendus, consultez le dwExStyle paramètre correspondant CreateWindowEx dans le Kit de développement logiciel (SDK) Windows.

dwStyle
Spécifie le style du contrôle d’arborescence. Appliquez des styles de fenêtre, décrits dans CreateWindow, et toute combinaison de styles de contrôle d’arborescence, comme décrit dans le Kit de développement logiciel (SDK) Windows.

rect
Référence à une RECT structure décrivant la taille et la position de la fenêtre à créer, dans les coordonnées clientes de pParentWnd.

pParentWnd
Pointeur vers la fenêtre qui est le parent du contrôle.

nID
ID de la fenêtre enfant du contrôle.

Valeur de retour

Différent de zéro s’il réussit sinon 0.

Notes

Utilisez CreateEx plutôt que d’appliquer Create des styles Windows étendus, spécifiés par le préface WS_EX_de style étendu Windows.

CTreeCtrl::CreateDragImage

Appelez cette fonction pour créer une bitmap de glissement pour l’élément donné dans un contrôle d’arborescence, créer une liste d’images pour la bitmap et ajouter la bitmap à la liste d’images.

CImageList* CreateDragImage(HTREEITEM hItem);

Paramètres

hItem
Handle de l’élément d’arborescence à faire glisser.

Valeur de retour

Pointeur vers la liste d’images vers laquelle la bitmap de glissement a été ajoutée, si elle réussit ; sinon NULL.

Notes

Une application utilise les fonctions de liste d’images pour afficher l’image lorsque l’élément est déplacé.

L’objet CImageList est permanent et vous devez le supprimer une fois terminé. Par exemple :

HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();

CImageList *pImageList = m_TreeCtrl.CreateDragImage(hItem);

// Do something with the image list.

delete pImageList;

CTreeCtrl::CTreeCtrl

Construit un objet CTreeCtrl.

CTreeCtrl();

CTreeCtrl::DeleteAllItems

Appelez cette fonction pour supprimer tous les éléments du contrôle d’arborescence.

BOOL DeleteAllItems();

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

// The underlying Windows API always returns TRUE
VERIFY(m_TreeCtrl.DeleteAllItems());

CTreeCtrl::DeleteItem

Appelez cette fonction pour supprimer un élément du contrôle d’arborescence.

BOOL DeleteItem(HTREEITEM hItem);

Paramètres

hItem
Handle de l’élément d’arborescence à supprimer. Si hitem elle a la TVI_ROOT valeur, tous les éléments sont supprimés du contrôle d’arborescence.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

// Look at all of the root-level items
HTREEITEM hCurrent = m_TreeCtrl.GetChildItem(TVI_ROOT);
while (hCurrent != NULL)
{
   // Get the text for the item. Notice we use TVIF_TEXT because
   // we want to retrieve only the text, but also specify TVIF_HANDLE
   // because we're getting the item by its handle.
   TVITEM item;
   TCHAR szText[1024];
   item.hItem = hCurrent;
   item.mask = TVIF_TEXT | TVIF_HANDLE;
   item.pszText = szText;
   item.cchTextMax = 1024;

   BOOL bWorked = m_TreeCtrl.GetItem(&item);

   // Try to get the next item
   hCurrent = m_TreeCtrl.GetNextItem(hCurrent, TVGN_NEXT);

   // If we successfuly retrieved an item, and the item's text
   // contains a lowercase letter 'e', delete the item.
   if (bWorked && _tcschr(item.pszText, 'e'))
      m_TreeCtrl.DeleteItem(item.hItem);
}

CTreeCtrl::EditLabel

Appelez cette fonction pour commencer la modification sur place du texte de l’élément spécifié.

CEdit* EditLabel(HTREEITEM hItem);

Paramètres

hItem
Handle de l’élément d’arborescence à modifier.

Valeur de retour

En cas de réussite, un pointeur vers l’objet CEdit utilisé pour modifier le texte de l’élément ; sinon NULL.

Notes

La modification est effectuée en remplaçant le texte de l’élément par un contrôle d’édition à ligne unique contenant le texte.

Exemple

// Make sure the focus is set to the tree control.
m_TreeCtrl.SetFocus();

// Show the edit control on the label of the selected item.
// The tree control must have the TVS_EDITLABELS style set.
HTREEITEM hSel = m_TreeCtrl.GetSelectedItem();
CEdit *pmyEdit = m_TreeCtrl.EditLabel(hSel);
ASSERT(pmyEdit != NULL);

CTreeCtrl::EndEditLabelNow

Conclut l’opération de modification sur l’étiquette d’un élément d’arborescence dans le contrôle arborescence actuel.

BOOL EndEditLabelNow(BOOL fCancelWithoutSave);

Paramètres

fCancelWithoutSave
[in] TRUE pour dis carte modifications apportées à l’élément d’arborescence avant de conclure l’opération de modification, ou FALSE pour enregistrer les modifications apportées à l’élément d’arborescence avant de conclure l’opération.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Cette méthode envoie le TVM_ENDEDITLABELNOW message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CTreeCtrl::EnsureVisible

Appelez cette fonction pour vous assurer qu’un élément d’arborescence est visible.

BOOL EnsureVisible(HTREEITEM hItem);

Paramètres

hItem
Handle de l’élément d’arborescence en cours de rendu visible.

Valeur de retour

Retourne TRUE si le système a fait défiler les éléments dans le contrôle d’arborescence pour vous assurer que l’élément spécifié est visible. Sinon, la valeur de retour est FALSE.

Notes

Si nécessaire, la fonction développe l’élément parent ou fait défiler le contrôle d’arborescence afin que l’élément soit visible.

Exemple

HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();
// hmyItem is the item that I want to ensure is visible.
HTREEITEM hmyItem = m_TreeCtrl.GetChildItem(hItem);

// Expand the parent, if possible.
HTREEITEM hParent = m_TreeCtrl.GetParentItem(hmyItem);
if (hParent != NULL)
   m_TreeCtrl.Expand(hParent, TVE_EXPAND);

// Ensure the item is visible.
m_TreeCtrl.EnsureVisible(hmyItem);

CTreeCtrl::Expand

Appelez cette fonction pour développer ou réduire la liste des éléments enfants, le cas échéant, associée à l’élément parent donné.

BOOL Expand(
    HTREEITEM hItem,
    UINT nCode);

Paramètres

hItem
Handle de l’élément d’arborescence en cours d’expansion.

nCode
Indicateur indiquant le type d’action à entreprendre. Cet indicateur peut avoir l’une des valeurs suivantes :

  • TVE_COLLAPSE Réduit la liste.

  • TVE_COLLAPSERESET Réduit la liste et supprime les éléments enfants. L’indicateur TVIS_EXPANDEDONCE d’état est réinitialisé. Cet indicateur doit être utilisé avec l’indicateur TVE_COLLAPSE .

  • TVE_EXPAND Développe la liste.

  • TVE_TOGGLE Réduit la liste s’il est actuellement développé ou le développe s’il est actuellement réduit.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

Consultez l’exemple pour CTreeCtrl::EnsureVisible.

CTreeCtrl::GetBkColor

Cette fonction membre implémente le comportement du message TVM_GETBKCOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

COLORREF GetBkColor() const;

Valeur de retour

Valeur COLORREF qui représente la couleur d’arrière-plan de la fenêtre actuelle pour le contrôle. Si cette valeur est -1, le contrôle utilise la couleur de la fenêtre système. Dans ce cas, vous pouvez utiliser ::GetSysColor(COLOR_WINDOW) pour obtenir la couleur système actuelle que le contrôle utilise.

Exemple

Consultez l’exemple pour CTreeCtrl::SetTextColor.

CTreeCtrl::GetCheck

Appelez cette fonction membre pour récupérer l’état case activée d’un élément.

BOOL GetCheck(HTREEITEM hItem) const;

Paramètres

hItem
À HTREEITEM propos duquel recevoir les informations d’état.

Valeur de retour

Différent de zéro si l’élément de contrôle d’arborescence est case activée ed ; sinon, 0.

Exemple

Consultez l’exemple pour CTreeCtrl::SetCheck.

CTreeCtrl::GetChildItem

Appelez cette fonction pour récupérer l’élément d’arborescence qui est l’enfant de l’élément spécifié par hItem.

HTREEITEM GetChildItem(HTREEITEM hItem) const;

Paramètres

hItem
Handle d’un élément d’arborescence.

Valeur de retour

Handle de l’élément enfant en cas de réussite ; sinon NULL.

Exemple

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Delete all of the children of hmyItem.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hNextItem;
   HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hChildItem != NULL)
   {
      hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);
      m_TreeCtrl.DeleteItem(hChildItem);
      hChildItem = hNextItem;
   }
}

CTreeCtrl::GetCount

Appelez cette fonction pour récupérer le nombre d’éléments dans un contrôle d’arborescence.

UINT GetCount() const;

Valeur de retour

Nombre d’éléments dans le contrôle d’arborescence.

Exemple

// Delete all of the items from the tree control.
m_TreeCtrl.DeleteAllItems();
ASSERT(m_TreeCtrl.GetCount() == 0);

CTreeCtrl::GetDropHilightItem

Appelez cette fonction pour récupérer l’élément qui est la cible d’une opération de glisser-déplacer.

HTREEITEM GetDropHilightItem() const;

Valeur de retour

Handle de l’élément supprimé en cas de réussite ; sinon NULL.

Exemple

// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectDropTarget(hItem);
   ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}

CTreeCtrl::GetEditControl

Appelez cette fonction pour récupérer le handle du contrôle d’édition utilisé pour modifier le texte d’un élément d’arborescence.

CEdit* GetEditControl() const;

Valeur de retour

Pointeur vers le contrôle d’édition utilisé pour modifier le texte de l’élément, s’il réussit ; sinon NULL.

Exemple

// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("New text!");

// Replace the text in the label edit control, if possible.
CEdit *pEdit = m_TreeCtrl.GetEditControl();

if (pEdit != NULL)
{
   pEdit->SetWindowText(lpszmyString);
}

CTreeCtrl::GetExtendedStyle

Récupère les styles étendus que le contrôle d’arborescence actuel utilise.

DWORD GetExtendedStyle() const;

Valeur de retour

Valeur qui contient une combinaison de bits (OR) des styles étendus du contrôle d’arborescence actuel. Pour plus d’informations, consultez Styles étendus du contrôle d’arborescence.

Notes

Cette méthode envoie le TVM_GETEXTENDEDSTYLE message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CTreeCtrl::GetFirstVisibleItem

Appelez cette fonction pour récupérer le premier élément visible du contrôle d’arborescence.

HTREEITEM GetFirstVisibleItem() const;

Valeur de retour

Handle du premier élément visible ; sinon NULL.

Exemple

Consultez l’exemple pour CTreeCtrl::SetCheck.

CTreeCtrl::GetImageList

Appelez cette fonction pour récupérer le handle de la liste d’images normale ou d’état associée au contrôle d’arborescence.

CImageList* GetImageList(UINT nImageList) const;

Paramètres

nImageList
Type de liste d’images à récupérer. La liste d’images peut être l’une des valeurs suivantes :

  • TVSIL_NORMAL Récupère la liste d’images normale, qui contient les images sélectionnées et non sélectionnées pour l’élément d’arborescence.

  • TVSIL_STATE Récupère la liste d’images d’état, qui contient les images des éléments d’arborescence qui se trouvent dans un état défini par l’utilisateur.

Valeur de retour

Pointeur vers la liste d’images du contrôle en cas de réussite ; sinon NULL.

Notes

Chaque élément d’un contrôle d’arborescence peut avoir une paire d’images bitmap associées. Une image est affichée lorsque l'élément est sélectionné, et l'autre est affichée lorsque l'élément n'est pas sélectionné. Par exemple, un élément peut afficher un dossier ouvert lorsqu’il est sélectionné et un dossier fermé lorsqu’il ne l’est pas.

Pour plus d’informations sur les listes d’images, consultez la CImageList classe.

Exemple

ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == NULL);

m_TreeCtrl.SetImageList(&m_TreeImages, TVSIL_NORMAL);
ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == &m_TreeImages);

CTreeCtrl::GetIndent

Appelez cette fonction pour récupérer la quantité, en pixels, que les éléments enfants sont mis en retrait par rapport à leurs éléments parents.

UINT GetIndent() const;

Valeur de retour

Quantité de retrait mesurée en pixels.

Exemple

// Double the indent.
UINT uIndent = m_TreeCtrl.GetIndent();
m_TreeCtrl.SetIndent(2 * uIndent);

CTreeCtrl::GetInsertMarkColor

Cette fonction membre implémente le comportement du message TVM_GETINSERTMARKCOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

COLORREF GetInsertMarkColor() const;

Valeur de retour

Valeur COLORREF qui contient la couleur de marque d’insertion actuelle.

Exemple

// Use the highliight color for the insert mark color.
COLORREF crColor = ::GetSysColor(COLOR_HIGHLIGHT);
m_TreeCtrl.SetInsertMarkColor(crColor);
ASSERT(m_TreeCtrl.GetInsertMarkColor() == crColor);

CTreeCtrl::GetItem

Appelez cette fonction pour récupérer les attributs de l’élément d’arborescence spécifié.

BOOL GetItem(TVITEM* pItem) const;

Paramètres

pItem
Pointeur vers une TVITEM structure, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

Consultez l’exemple pour CTreeCtrl::DeleteItem.

CTreeCtrl::GetItemData

Appelez cette fonction pour récupérer la valeur spécifique à l’application associée à l’élément spécifié.

DWORD_PTR GetItemData(HTREEITEM hItem) const;

Paramètres

hItem
Handle de l’élément dont les données doivent être récupérées.

Valeur de retour

Valeur spécifique à l’application de taille du pointeur associée à l’élément spécifié par hItem.

Exemple

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Delete all of the children of hmyItem whose item data is
// not equal to zero.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hNextItem;
   HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hChildItem != NULL)
   {
      hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);

      if (m_TreeCtrl.GetItemData(hChildItem) != 0)
      {
         m_TreeCtrl.DeleteItem(hChildItem);
      }

      hChildItem = hNextItem;
   }
}

CTreeCtrl::GetItemExpandedImageIndex

Récupère l’index de l’image à afficher lorsque l’élément spécifié du contrôle d’arborescence actuel est dans l’état développé.

int GetItemExpandedImageIndex(HTREEITEM hItem)const;

Paramètres

hItem
[in] Gérer vers un élément de contrôle d’arborescence.

Valeur de retour

Index de l’image à afficher lorsque l’élément spécifié est dans l’état développé.

Notes

Cette méthode envoie le TVM_GETITEM message, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Ce message retourne la TVITEMEX structure qui décrit l’élément de contrôle d’arborescence, puis cette méthode récupère le iExpandedImage membre de cette structure.

CTreeCtrl::GetItemHeight

Cette fonction membre implémente le comportement du message TVM_GETITEMHEIGHTWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

SHORT GetItemHeight() const;

Valeur de retour

Hauteur de l’élément, en pixels.

Exemple

// Double the height of the items.
SHORT sHeight = m_TreeCtrl.GetItemHeight();
m_TreeCtrl.SetItemHeight(2 * sHeight);

CTreeCtrl::GetItemImage

Chaque élément d’un contrôle d’arborescence peut avoir une paire d’images bitmap associées.

BOOL GetItemImage(
    HTREEITEM hItem,
    int& nImage,
    int& nSelectedImage) const;

Paramètres

hItem
Handle de l’élément dont l’image doit être récupérée.

nImage
Entier qui reçoit l’index de l’image de l’élément dans la liste d’images du contrôle d’arborescence.

nSelectedImage
Entier qui reçoit l’index de l’image sélectionnée de l’élément dans la liste d’images du contrôle d’arborescence.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Les images apparaissent à gauche de l'étiquette d'un élément. Une image est affichée lorsque l'élément est sélectionné, et l'autre est affichée lorsque l'élément n'est pas sélectionné. Par exemple, un élément peut afficher un dossier ouvert lorsqu’il est sélectionné et un dossier fermé lorsqu’il ne l’est pas.

Appelez cette fonction pour récupérer l’index de l’image de l’élément et son image sélectionnée dans la liste d’images du contrôle d’arborescence.

Exemple

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// If the selected image is the same as the nonselected image
// then make the selected image one more than the nonselected image.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);
   int nImage, nSelectedImage;

   while (hItem != NULL)
   {
      m_TreeCtrl.GetItemImage(hItem, nImage, nSelectedImage);

      if (nImage == nSelectedImage)
      {
         m_TreeCtrl.SetItemImage(hItem, nImage, nImage + 1);
      }

      hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
   }
}

CTreeCtrl::GetItemPartRect

Récupère le rectangle englobant pour une partie spécifiée d’un élément spécifié dans le contrôle d’arborescence actuel.

BOOL GetItemPartRect(
    HTREEITEM hItem,
    int nPart,
    LPRECT lpRect)const;

Paramètres

hItem
[in] Gérer vers un élément de contrôle d’arborescence.

nPart
[in] Identificateur de la partie. Cette propriété doit être définie sur TVGIPR_BUTTON.

lpRect
[out] Pointeur vers une RECT structure. Si cette méthode réussit, la structure reçoit les coordonnées rectangle de la partie spécifiée par hItem et nPart.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Chaque élément de contrôle d’arborescence est limité par un rectangle graphique. Chaque fois qu’un point dans ce rectangle est cliqué, l’élément est dit atteint. Cette méthode retourne le plus grand rectangle de sorte que lorsqu’un point du rectangle est cliqué, l’élément identifié par le hItem paramètre est atteint.

Cette méthode envoie le TVM_GETITEMPARTRECT message, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Pour plus d’informations, consultez la TreeView_GetItemPartRect macro.

Exemple

Le premier exemple de code définit une variable, m_treeCtrlutilisée pour accéder au contrôle d’arborescence actuel. L’exemple de code définit également un entier non signé et plusieurs HTREEITEM variables. Ces variables sont utilisées dans l’exemple suivant.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L’exemple de code suivant utilise un identificateur d’accessibilité et la CTreeCtrl::MapAccIdToItem méthode pour récupérer un handle à l’élément d’arborescence racine. Ensuite, l’exemple utilise le handle et la CTreeCtrl::GetItemPartRect méthode pour dessiner un rectangle 3D autour de cet élément. Dans une section antérieure de l’exemple de code, qui n’est pas illustré, nous avons créé une arborescence qui se compose d’un nœud pays/région racine pour le États-Unis, les sous-nœuds pour les états de Pennsylvanie et de Washington, et les éléments d’arborescence pour les villes de ces états. Nous avons utilisé la CTreeCtrl::MapItemToAccID méthode pour associer l’élément d’arborescence racine à un identificateur d’accessibilité.

CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::GetItemRect

Appelez cette fonction pour récupérer le rectangle englobant pour hItem et déterminer s’il est visible ou non.

BOOL GetItemRect(
    HTREEITEM hItem,
    LPRECT lpRect,
    BOOL bTextOnly) const;

Paramètres

hItem
Handle d’un élément de contrôle d’arborescence.

lpRect
Pointeur vers une RECT structure qui reçoit le rectangle englobant. Les coordonnées sont relatives au coin supérieur gauche du contrôle d’arborescence.

bTextOnly
Si ce paramètre n’est pas différent de zéro, le rectangle englobant inclut uniquement le texte de l’élément. Sinon, il inclut la ligne entière occupée par l’élément dans le contrôle d’arborescence.

Valeur de retour

Différent de zéro si l’élément est visible, avec le rectangle englobant contenu dans lpRect. Sinon, 0 avec lpRect non initialisé.

Exemple

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Dump the bounds of hmyItem.
if (hmyItem != NULL)
{
   RECT r;

   m_TreeCtrl.GetItemRect(hmyItem, &r, FALSE);

   TRACE(TEXT("left = %d, top = %d, right = %d, bottom = %d\r\n"),
         r.left,
         r.top,
         r.right,
         r.bottom);
}

CTreeCtrl::GetItemState

Retourne l’état de l’élément spécifié par hItem.

UINT GetItemState(
    HTREEITEM hItem,
    UINT nStateMask) const;

Paramètres

hItem
Handle de l’élément dont l’état doit être récupéré.

nStateMask
Masque indiquant qu’un ou plusieurs états doivent être récupérés. Pour plus d’informations sur les valeurs possibles, nStateMaskconsultez la discussion sur les membres et stateMask les state membres de la TVITEM structure dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Qui UINT contient l’opérateur OR au niveau du bit C++ (|) des valeurs spécifiées par nStateMask. Pour plus d’informations sur les valeurs possibles, consultez CTreeCtrl::GetItem. Pour rechercher la valeur d’un état spécifique, effectuez un opérateur AND au niveau du bit C++ (&) f la valeur d’état et la valeur de retour, comme illustré dans l’exemple suivant.

Exemple

// Show all of the visible items in bold.
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   ASSERT(TVIS_BOLD & m_TreeCtrl.GetItemState(hItem, TVIS_BOLD));
   hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}

CTreeCtrl::GetItemStateEx

Récupère l’état étendu de l’élément spécifié dans le contrôle d’arborescence actuel.

UINT GetItemStateEx(HTREEITEM hItem) const;

Paramètres

hItem
[in] Gérer vers un élément de contrôle d’arborescence.

Valeur de retour

État étendu de l’élément. Pour plus d’informations, consultez le uStateEx membre de la TVITEMEX structure.

Notes

Cette méthode envoie le TVM_GETITEM message, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Ce message retourne la TVITEMEX structure qui décrit l’élément de contrôle d’arborescence, et cette méthode récupère le uStateEx membre de cette structure.

CTreeCtrl::GetItemText

Retourne le texte de l’élément spécifié par hItem.

CString GetItemText(HTREEITEM hItem) const;

Paramètres

hItem
Handle de l’élément dont le texte doit être récupéré.

Valeur de retour

Objet CString contenant le texte de l’élément.

Exemple

Consultez l’exemple pour CTreeCtrl::GetNextItem.

CTreeCtrl::GetLastVisibleItem

Récupère le dernier élément de nœud non expiré dans le contrôle d’arborescence actuel.

HTREEITEM GetLastVisibleItem() const;

Valeur de retour

Handle vers le dernier élément de nœud non expiré si la méthode réussit ; sinon, NULL.

Notes

Cette méthode envoie le TVM_GETNEXTITEM message, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Pour plus d’informations, consultez l’indicateur TVGN_LASTVISIBLE dans le flag paramètre de ce message.

Exemple

Le premier exemple de code définit une variable, m_treeCtrlutilisée pour accéder au contrôle d’arborescence actuel. L’exemple de code définit également un entier non signé et plusieurs HTREEITEM variables. Une ou plusieurs de ces variables sont utilisées dans l’exemple suivant.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L’exemple de code suivant récupère un handle vers le dernier élément de nœud d’arborescence non expiré, puis dessine un rectangle 3D autour de cet élément. Dans une section antérieure de l’exemple de code, qui n’est pas illustré, nous avons créé une arborescence qui se compose d’un nœud pays/région racine pour le États-Unis, les sous-nœuds pour les états de Pennsylvanie et de Washington, et les éléments d’arborescence pour les villes de ces états.

CRect rect;
HTREEITEM hLast = m_treeCtrl.GetLastVisibleItem();
m_treeCtrl.GetItemPartRect(hLast, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::GetLineColor

Cette fonction membre implémente le comportement du message TVM_GETLINECOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

COLORREF GetLineColor() const;

Valeur de retour

Couleur de ligne actuelle.

Exemple

COLORREF cr = m_TreeCtrl.GetLineColor();

CTreeCtrl::GetNextItem

Appelez cette fonction pour récupérer l’élément d’arborescence qui a la relation spécifiée, indiquée par le nCode paramètre, à hItem.

HTREEITEM GetNextItem(
    HTREEITEM hItem,
    UINT nCode) const;

Paramètres

hItem
Handle d’un élément d’arborescence.

nCode
Indicateur indiquant le type de relation à hItem. Cet indicateur peut être l’une des valeurs suivantes :

  • TVGN_CARET Récupère l’élément actuellement sélectionné.

  • TVGN_CHILD Récupère le premier élément enfant de l’élément spécifié par le hItem paramètre.

  • TVGN_DROPHILITE Récupère l’élément qui est la cible d’une opération de glisser-déplacer.

  • TVGN_FIRSTVISIBLE Récupère le premier élément visible.

  • TVGN_LASTVISIBLE Récupère le dernier élément développé dans l’arborescence. Cela ne récupère pas le dernier élément visible dans la fenêtre d’arborescence.

  • TVGN_NEXT Récupère l’élément frère suivant.

  • TVGN_NEXTVISIBLE Récupère l’élément visible suivant l’élément spécifié.

  • TVGN_PARENT Récupère le parent de l’élément spécifié.

  • TVGN_PREVIOUS Récupère l’élément frère précédent.

  • TVGN_PREVIOUSVISIBLE Récupère le premier élément visible qui précède l’élément spécifié.

  • TVGN_ROOT Récupère le premier élément enfant de l’élément racine dont l’élément spécifié est un composant.

Valeur de retour

Handle de l’élément suivant en cas de réussite ; sinon NULL.

Notes

Cette fonction retourne NULL si l’élément récupéré est le nœud racine de l’arborescence. Par exemple, si vous utilisez ce message avec l’indicateur TVGN_PARENT sur un enfant de premier niveau du nœud racine de l’arborescence, le message retourne NULL.

Exemple

Pour obtenir un exemple d’utilisation GetNextItem dans une boucle, consultez CTreeCtrl::DeleteItem.

// find the currently selected item
HTREEITEM hCurSel = m_TreeCtrl.GetNextItem(TVI_ROOT, TVGN_CARET);

// report it to the user
if (hCurSel == NULL)
{
   AfxMessageBox(_T("There is no selected item"));
}
else
{
   CString str;
   str.Format(_T("The currently selected item is \"%s\""),
              (LPCTSTR)m_TreeCtrl.GetItemText(hCurSel));
   AfxMessageBox((LPCTSTR)str);
}

CTreeCtrl::GetNextSiblingItem

Appelez cette fonction pour récupérer le frère suivant de hItem.

HTREEITEM GetNextSiblingItem(HTREEITEM hItem) const;

Paramètres

hItem
Handle d’un élément d’arborescence.

Valeur de retour

Handle de l’élément frère suivant ; sinon NULL.

Exemple

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the children of hmyItem in bold.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hItem != NULL)
   {
      m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
      hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
   }
}

CTreeCtrl::GetNextVisibleItem

Appelez cette fonction pour récupérer l’élément visible suivant de hItem.

HTREEITEM GetNextVisibleItem(HTREEITEM hItem) const;

Paramètres

hItem
Handle d’un élément d’arborescence.

Valeur de retour

Handle de l’élément visible suivant ; sinon NULL.

Exemple

Consultez l’exemple pour CTreeCtrl::SetCheck.

CTreeCtrl::GetParentItem

Appelez cette fonction pour récupérer le parent de hItem.

HTREEITEM GetParentItem(HTREEITEM hItem) const;

Paramètres

hItem
Handle d’un élément d’arborescence.

Valeur de retour

Handle de l’élément parent ; sinon NULL.

Notes

Cette fonction retourne NULL si le parent de l’élément spécifié est le nœud racine de l’arborescence.

Exemple

Consultez l’exemple pour CTreeCtrl::EnsureVisible.

CTreeCtrl::GetPrevSiblingItem

Appelez cette fonction pour récupérer le frère précédent de hItem.

HTREEITEM GetPrevSiblingItem(HTREEITEM hItem) const;

Paramètres

hItem
Handle d’un élément d’arborescence.

Valeur de retour

Handle du frère précédent ; sinon NULL.

Exemple

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the previous siblings of hmyItem in bold.
HTREEITEM hItem = hmyItem;

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   hItem = m_TreeCtrl.GetPrevSiblingItem(hItem);
}

CTreeCtrl::GetPrevVisibleItem

Appelez cette fonction pour récupérer l’élément visible précédent de hItem.

HTREEITEM GetPrevVisibleItem(HTREEITEM hItem) const;

Paramètres

hItem
Handle d’un élément d’arborescence.

Valeur de retour

Handle de l’élément visible précédent ; sinon NULL.

Exemple

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the previous visible items of hmyItem in bold.
HTREEITEM hItem = hmyItem;

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   hItem = m_TreeCtrl.GetPrevVisibleItem(hItem);
}

CTreeCtrl::GetRootItem

Appelez cette fonction pour récupérer l’élément racine du contrôle d’arborescence.

HTREEITEM GetRootItem() const;

Valeur de retour

Handle de l’élément racine ; sinon NULL.

Exemple

Consultez l’exemple pour CTreeCtrl::EditLabel.

CTreeCtrl::GetScrollTime

Appelez cette fonction membre pour récupérer la durée de défilement maximale pour le contrôle d’arborescence.

UINT GetScrollTime() const;

Valeur de retour

Durée maximale de défilement, en millisecondes.

Notes

Cette fonction membre implémente le comportement du message TVM_GETSCROLLTIMEWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CTreeCtrl::GetSelectedCount

Récupère le nombre d’éléments sélectionnés dans le contrôle d’arborescence actuel.

UINT GetSelectedCount();

Valeur de retour

Nombre d’éléments sélectionnés.

Notes

Cette méthode envoie le TVM_GETSELECTEDCOUNT message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CTreeCtrl::GetSelectedItem

Appelez cette fonction pour récupérer l’élément actuellement sélectionné du contrôle d’arborescence.

HTREEITEM GetSelectedItem() const;

Valeur de retour

Handle de l’élément sélectionné ; sinon NULL.

Exemple

// Expand the selected item and make it visible, if possible.
HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();

if ((hItem != NULL) && m_TreeCtrl.ItemHasChildren(hItem))
{
   m_TreeCtrl.Expand(hItem, TVE_EXPAND);
   m_TreeCtrl.EnsureVisible(hItem);
}

CTreeCtrl::GetTextColor

Cette fonction membre implémente le comportement du message TVM_GETTEXTCOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

COLORREF GetTextColor() const;

Valeur de retour

Valeur COLORREF qui représente la couleur de texte actuelle. Si cette valeur est -1, le contrôle utilise la couleur système de la couleur du texte.

Exemple

Consultez l’exemple pour CTreeCtrl::SetTextColor.

CTreeCtrl::GetToolTips

Cette fonction membre implémente le comportement du message TVM_GETTOOLTIPSWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CToolTipCtrl* GetToolTips() const;

Valeur de retour

Pointeur vers un CToolTipCtrl objet à utiliser par le contrôle d’arborescence. Si la Create fonction membre utilise le style TVS_NOTOOLTIPS, aucune info-bulle n’est utilisée et NULL est retournée.

Notes

L’implémentation MFC de GetToolTips retourne un CToolTipCtrl objet, qui est utilisé par le contrôle d’arborescence, plutôt qu’un handle pour un contrôle d’info-bulle.

Exemple

// If the tree control does not have a tooltips control,
// then use m_ToolTips as the tooltips for the tree control.
if (m_TreeCtrl.GetToolTips() == NULL)
{
   m_TreeCtrl.SetToolTips(&m_ToolTips);
}

CTreeCtrl::GetVisibleCount

Appelez cette fonction pour récupérer le nombre d’éléments visibles dans un contrôle d’arborescence.

UINT GetVisibleCount() const;

Valeur de retour

Nombre d’éléments visibles dans le contrôle d’arborescence ; sinon - 1.

Exemple

Consultez l’exemple pour CTreeCtrl::SetCheck.

CTreeCtrl::HitTest

Appelez cette fonction pour déterminer l’emplacement du point spécifié par rapport à la zone cliente d’un contrôle d’arborescence.

HTREEITEM HitTest(
    CPoint pt,
    UINT* pFlags = NULL) const;

HTREEITEM HitTest(TVHITTESTINFO* pHitTestInfo) const;

Paramètres

pt
Coordonnées du client du point à tester.

pFlags
Pointeur vers un entier qui reçoit des informations sur les résultats du test de positionnement. Il peut s’agir d’une ou plusieurs des valeurs répertoriées sous le flags membre dans la section Remarques.

pHitTestInfo
Adresse d’une TVHITTESTINFO structure qui contient la position à tester et qui reçoit des informations sur les résultats du test de positionnement.

Valeur de retour

Handle de l’élément d’arborescence qui occupe le point spécifié ou NULL si aucun élément n’occupe le point.

Notes

Lorsque cette fonction est appelée, le pt paramètre spécifie les coordonnées du point à tester. La fonction retourne le handle de l’élément au point spécifié ou NULL si aucun élément n’occupe le point. En outre, le pFlags paramètre contient une valeur qui indique l’emplacement du point spécifié. Les valeurs possibles sont les suivantes :

Value Description
TVHT_ABOVE Au-dessus de la zone cliente.
TVHT_BELOW Sous la zone cliente.
TVHT_NOWHERE Dans la zone cliente, mais en dessous du dernier élément.
TVHT_ONITEM Sur l’image bitmap ou l’étiquette associée à un élément.
TVHT_ONITEMBUTTON Sur le bouton associé à un élément.
TVHT_ONITEMICON Sur la bitmap associée à un élément.
TVHT_ONITEMINDENT Dans la mise en retrait associée à un élément.
TVHT_ONITEMLABEL Sur l’étiquette (chaîne) associée à un élément.
TVHT_ONITEMRIGHT Dans la zone à droite d’un élément.
TVHT_ONITEMSTATEICON Sur l’icône d’état d’un élément d’arborescence qui se trouve dans un état défini par l’utilisateur.
TVHT_TOLEFT À gauche de la zone cliente.
TVHT_TORIGHT À droite de la zone cliente.

Exemple

// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectItem(hItem);
}

CTreeCtrl::InsertItem

Appelez cette fonction pour insérer un nouvel élément dans un contrôle d’arborescence.

HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsertStruct);

HTREEITEM InsertItem(
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam,
    HTREEITEM hParent,
    HTREEITEM hInsertAfter);

HTREEITEM InsertItem(
    LPCTSTR lpszItem,
    HTREEITEM hParent = TVI_ROOT,
    HTREEITEM hInsertAfter = TVI_LAST);

HTREEITEM InsertItem(
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    HTREEITEM hParent = TVI_ROOT,
    HTREEITEM hInsertAfter = TVI_LAST);

Paramètres

lpInsertStruct
Pointeur vers un TVINSERTSTRUCT qui spécifie les attributs de l’élément d’arborescence à insérer.

nMask
Entier spécifiant les attributs à définir. Consultez la TVITEM structure dans le Kit de développement logiciel (SDK) Windows.

lpszItem
Adresse d’une chaîne contenant le texte de l’élément.

nImage
Index de l’image de l’élément dans la liste d’images du contrôle d’arborescence.

nSelectedImage
Index de l’image sélectionnée de l’élément dans la liste d’images du contrôle d’arborescence.

nState
Spécifie les valeurs des états de l’élément. Consultez les états d’élément de contrôle d’arborescence dans le Kit de développement logiciel (SDK) Windows pour obtenir la liste des états appropriés.

nStateMask
Spécifie les états à définir. Consultez la TVITEM structure dans le Kit de développement logiciel (SDK) Windows.

lParam
Valeur spécifique à l’application de taille du pointeur associée à l’élément.

hParent
Handle du parent de l’élément inséré.

hInsertAfter
Handle de l’élément après lequel le nouvel élément doit être inséré.

Valeur de retour

Gérer le nouvel élément en cas de réussite ; sinon NULL.

Notes

L’exemple montre des situations dans lesquelles vous souhaiterez peut-être utiliser chaque version de la fonction lors de l’insertion d’un élément de contrôle d’arborescence.

Exemple

// Insert a root item using the structure. We must
// initialize a TVINSERTSTRUCT structure and pass its
// address to the call. 

TVINSERTSTRUCT tvInsert;
tvInsert.hParent = NULL;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText = _T("United States");

HTREEITEM hCountry = m_TreeCtrl.InsertItem(&tvInsert);

// Insert subitems of that root. Pennsylvania is
// a state in the United States, so its item will be a child
// of the United States item. We won't set any image or states,
// so we supply only the TVIF_TEXT mask flag. This
// override provides nearly complete control over the
// insertion operation without the tedium of initializing
// a structure. If you're going to add lots of items
// to a tree, you might prefer the structure override
// as it affords you a performance win by allowing you
// to initialize some fields of the structure only once,
// outside of your insertion loop.

HTREEITEM hPA = m_TreeCtrl.InsertItem(TVIF_TEXT,
   _T("Pennsylvania"), 0, 0, 0, 0, 0, hCountry, NULL);

// Insert the "Washington" item and assure that it is
// inserted after the "Pennsylvania" item. This override is 
// more appropriate for conveniently inserting items with 
// images.

HTREEITEM hWA = m_TreeCtrl.InsertItem(_T("Washington"),
   0, 0, hCountry, hPA);

// We'll add some cities under each of the states.
// The override used here is most appropriate
// for inserting text-only items.

m_TreeCtrl.InsertItem(_T("Pittsburgh"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Harrisburg"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Altoona"), hPA, TVI_SORT);

m_TreeCtrl.InsertItem(_T("Seattle"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Kalaloch"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Yakima"), hWA, TVI_SORT);

CTreeCtrl::ItemHasChildren

Utilisez cette fonction pour déterminer si l’élément d’arborescence spécifié par hItem des éléments enfants.

BOOL ItemHasChildren(HTREEITEM hItem) const;

Paramètres

hItem
Handle d’un élément d’arborescence.

Valeur de retour

Différent de zéro si l’élément d’arborescence spécifié par hItem les éléments enfants ; 0 s’il ne le fait pas.

Notes

Si c’est le cas, vous pouvez ensuite utiliser CTreeCtrl::GetChildItem pour récupérer ces éléments enfants.

Exemple

Consultez l’exemple pour CTreeCtrl::GetSelectedItem.

CTreeCtrl::MapAccIdToItem

Cartes l’identificateur d’accessibilité spécifié au handle d’un élément d’arborescence dans le contrôle d’arborescence actuel.

HTREEITEM MapAccIdToItem(UINT uAccId) const;

Paramètres

uAccId
[in] Identificateur d’accessibilité d’un élément dans l’élément d’arborescence.

Valeur de retour

Handle vers un élément d’arborescence (HTREEITEM) qui correspond au uAccId paramètre. Pour plus d’informations, consultez le hItem membre de la TVITEMEX structure.

Notes

Les aides à l’accessibilité sont des applications qui aident les personnes handicapées à utiliser des ordinateurs. Un identificateur d’accessibilité est utilisé par l’interface IAccessible pour spécifier de manière unique un élément dans une fenêtre. Pour plus d’informations sur les IAccessible API, consultez Microsoft Active Accessibility.

Cette méthode envoie le TVM_MAPACCIDTOHTREEITEM message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit une variable, m_treeCtrlutilisée pour accéder au contrôle d’arborescence actuel. L’exemple de code définit également un entier non signé et plusieurs HTREEITEM variables. Ces variables sont utilisées dans l’exemple suivant.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L’exemple de code suivant utilise un identificateur d’accessibilité et la CTreeCtrl::MapAccIdToItem méthode pour récupérer un handle à l’élément d’arborescence racine. L’exemple utilise le handle et la CTreeCtrl::GetItemPartRect méthode pour dessiner un rectangle 3D autour de cet élément. Dans une section antérieure de l’exemple de code, qui n’est pas illustré, nous avons créé une arborescence qui se compose d’un nœud pays/région racine pour le États-Unis, les sous-nœuds pour les états de Pennsylvanie et de Washington, et les éléments d’arborescence pour les villes de ces états. Nous avons utilisé la CTreeCtrl::MapItemToAccID méthode pour associer l’élément d’arborescence racine à un identificateur d’accessibilité.

CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::MapItemToAccID

Cartes le handle spécifié d’un élément d’arborescence dans le contrôle d’arborescence actuel à un identificateur d’accessibilité.

UINT MapItemToAccID(HTREEITEM hItem) const;

Paramètres

hItem
[in] Handle d’un élément d’arborescence dans le contrôle. Pour plus d’informations, consultez le hItem membre de la TVITEMEX structure.

Valeur de retour

Identificateur d’accessibilité qui correspond au paramètre hItem .

Notes

Les aides à l’accessibilité sont des applications qui aident les personnes handicapées à utiliser des ordinateurs. Un identificateur d’accessibilité est utilisé par l’interface IAccessible pour spécifier de manière unique un élément dans une fenêtre. Pour plus d’informations sur les IAccessible API, consultez Microsoft Active Accessibility.

Cette méthode envoie le TVM_MAPHTREEITEMTOACCID message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit une variable, m_treeCtrlutilisée pour accéder au contrôle d’arborescence actuel. L’exemple de code définit également un entier non signé et plusieurs HTREEITEM variables. Ces variables sont utilisées dans l’exemple suivant.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L’exemple de code suivant obtient un numéro d’identification pour un élément de contrôle d’arborescence. Dans une section antérieure de l’exemple de code, qui n’est pas illustré, nous avons créé une arborescence qui se compose d’un nœud pays/région racine pour le États-Unis, les sous-nœuds pour les états de Pennsylvanie et de Washington, et les éléments d’arborescence pour les villes de ces états. Cet exemple de code obtient un numéro d’identification unique pour le nœud pays/région racine.

// Map an accessibility identifier to the Pennsylvania node.
accIdUS = m_treeCtrl.MapItemToAccId(hCountry);

CTreeCtrl::Select

Appelez cette fonction pour sélectionner l’élément d’arborescence donné, faire défiler l’élément dans l’affichage ou redessiner l’élément dans le style utilisé pour indiquer la cible d’une opération de glisser-déplacer.

BOOL Select(
    HTREEITEM hItem,
    UINT nCode);

Paramètres

hItem
Handle d’un élément d’arborescence.

nCode
Type d’action à entreprendre. Ce paramètre peut avoir l'une des valeurs suivantes :

  • TVGN_CARET Définit la sélection sur l’élément donné.

  • TVGN_DROPHILITE Redessine l’élément donné dans le style utilisé pour indiquer la cible d’une opération de glisser-déplacer.

  • TVGN_FIRSTVISIBLE Fait défiler l’arborescence verticalement afin que l’élément donné soit le premier élément visible.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Si nCode elle contient la valeur TVGN_CARET, la fenêtre parente reçoit les TVN_SELCHANGING messages et TVN_SELCHANGED les messages de notification. En outre, si l’élément spécifié est l’enfant d’un élément parent réduit, la liste des éléments enfants du parent est développée pour révéler l’élément spécifié. Dans ce cas, la fenêtre parente reçoit les TVN_ITEMEXPANDING messages et TVN_ITEMEXPANDED les messages de notification.

Exemple

Consultez l’exemple pour CTreeCtrl::HitTest.

CTreeCtrl::SelectDropTarget

Appelez cette fonction pour redessiner l’élément dans le style utilisé pour indiquer la cible d’une opération de glisser-déplacer.

BOOL SelectDropTarget(HTREEITEM hItem);

Paramètres

hItem
Handle d’un élément d’arborescence.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectDropTarget(hItem);
   ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}

CTreeCtrl::SelectItem

Appelez cette fonction pour sélectionner l’élément d’arborescence donné.

BOOL SelectItem(HTREEITEM hItem);

Paramètres

hItem
Handle d’un élément d’arborescence.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Si hItem c’est NULLle cas, cette fonction ne sélectionne aucun élément.

Exemple

// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectItem(hItem);
}

CTreeCtrl::SelectSetFirstVisible

Appelez cette fonction pour faire défiler l’arborescence verticalement afin que l’élément donné soit le premier élément visible.

BOOL SelectSetFirstVisible(HTREEITEM hItem);

Paramètres

hItem
Handle de l’élément d’arborescence à définir comme premier élément visible.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

La fonction envoie un message à la fenêtre avec les paramètres et TVGN_FIRSTVISIBLE les TVM_SELECTITEM paramètres du message.

Exemple

// Select the item at the point myPoint as the first visible item.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectSetFirstVisible(hItem);
}

CTreeCtrl::SetAutoscrollInfo

Définit le taux d’inscription automatique du contrôle d’arborescence actuel.

BOOL SetAutoscrollInfo(
    UINT uPixelsPerSec,
    UINT uUpdateTime);

Paramètres

uPixelsPerSec
[in] Nombre de pixels par seconde à faire défiler.

uUpdateTime
[in] Intervalle de temps entre les mises à jour du contrôle.

Valeur de retour

Retourne toujours TRUE.

Notes

Les paramètres de l’inscription automatique sont utilisés pour faire défiler l’affichage d’un élément qui n’est actuellement pas visible. Le contrôle d’arborescence doit avoir le TVS_EX_AUTOHSCROLL style étendu, qui est décrit dans les styles étendus du contrôle d’arborescence.

Cette méthode envoie le TVM_SETAUTOSCROLLINFO message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit une variable, m_treeCtrlutilisée pour accéder au contrôle d’arborescence actuel. L’exemple de code définit également un entier non signé et plusieurs HTREEITEM variables. Ces variables sont utilisées dans l’exemple suivant.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L’exemple de code suivant définit le comportement de l’inscription automatique du contrôle d’arborescence actuel. Dans une section antérieure de l’exemple de code, qui n’est pas illustré, nous avons créé une arborescence qui se compose d’un nœud pays/région racine pour le États-Unis, les sous-nœuds pour les états de Pennsylvanie et de Washington, et les éléments d’arborescence pour les villes de ces états. Nous avons intentionnellement rendu le contrôle d’arborescence étroit afin qu’il doit faire défiler automatiquement pour afficher l’élément d’arborescence qui a le focus. L’exemple de code définit le contrôle d’arborescence pour faire défiler automatiquement 30 pixels par seconde toutes les 5 secondes jusqu’à ce que l’élément d’arborescence soit en mode affichage.

// Scroll 30 pixels/sec and redraw every 5 seconds.
m_treeCtrl.SetAutoscrollInfo(30, 5);

CTreeCtrl::SetBkColor

Cette fonction membre implémente le comportement du message TVM_SETBKCOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

COLORREF SetBkColor(COLORREF clr);

Paramètres

clr
Valeur COLORREF qui contient la nouvelle couleur d’arrière-plan. Si cette valeur est -1, le contrôle revient à utiliser la couleur système pour la couleur d’arrière-plan.

Valeur de retour

Valeur COLORREF qui représente la couleur de texte actuelle. Si cette valeur est -1, le contrôle utilise la couleur système de la couleur du texte.

Exemple

Consultez l’exemple pour CTreeCtrl::SetTextColor.

CTreeCtrl::SetCheck

Appelez cette fonction membre pour définir l’état case activée pour un élément de contrôle d’arborescence.

BOOL SetCheck(
    HTREEITEM hItem,
    BOOL fCheck = TRUE);

Paramètres

hItem
Pour HTREEITEM recevoir le changement d’état case activée.

fCheck
Indique si l’élément de contrôle d’arborescence doit être case activée ou non case activée ed. Par défaut, SetCheck définit l’élément à case activée.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Lorsque l’élément de contrôle d’arborescence est case activée ed (fCheckdéfini sur TRUE), l’élément apparaît avec une case activée mark adjacente.

Exemple

UINT uCount = m_TreeCtrl.GetVisibleCount();
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();

// Toggle the check state of all the visible items.
for (UINT i = 0; i < uCount; i++)
{
   ASSERT(hItem != NULL);
   m_TreeCtrl.SetCheck(hItem, !m_TreeCtrl.GetCheck(hItem));
   hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}

Pour utiliser case activée boxes, définissez TVS_CHECKBOXES avant de remplir le contrôle d’arborescence.

m_TreeCtrl.ModifyStyle(0, TVS_CHECKBOXES);

HTREEITEM aItem = m_TreeCtrl.InsertItem(_T("AAA"));
m_TreeCtrl.SetCheck(aItem);

CTreeCtrl::SetExtendedStyle

Définit les styles étendus pour le contrôle d’arborescence actuel.

DWORD SetExtendedStyle(
    DWORD dwExMask,
    DWORD dwExStyles);

Paramètres

dwExMask
[in] Masque de bits qui spécifie les styles dans le contrôle tree-view actuel sont affectés par cette méthode. Si ce paramètre est égal à zéro, il est ignoré et la valeur du dwExStyles paramètre est affectée au contrôle d’arborescence. Spécifiez zéro ou une combinaison au niveau du bit (OR) des styles décrits dans les styles étendus du contrôle d’arborescence.

dwExStyles
[in] Masque de bits qui spécifie les styles dans le contrôle d’arborescence actuel à définir ou effacer. Pour définir une combinaison de styles, spécifiez une combinaison de bits (OR) de styles décrits dans les styles étendus du contrôle d’arborescence. Pour effacer un ensemble de styles, spécifiez zéro.

Valeur de retour

Valeur qui contient les styles de contrôle étendu précédents.

Notes

Cette méthode efface les styles spécifiés dans le dwExMask paramètre, puis définit les styles spécifiés dans le dwExStyles paramètre. Seuls les styles étendus qui correspondent aux bits modifiés dwExMask .

Cette méthode envoie le TVM_SETEXTENDEDSTYLE message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit une variable, m_treeCtrlutilisée pour accéder au contrôle d’arborescence actuel. L’exemple de code définit également un entier non signé et plusieurs HTREEITEM variables. Ces variables sont utilisées dans l’exemple suivant.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L’exemple de code suivant ajoute le TVS_EX_AUTOHSCROLL style étendu au contrôle d’arborescence actuel. Dans une section antérieure de l’exemple de code, qui n’est pas illustré, nous avons créé une arborescence qui se compose d’un nœud pays/région racine pour le États-Unis, les sous-nœuds pour les états de Pennsylvanie et de Washington, et les éléments d’arborescence pour les villes de ces états. Nous avons intentionnellement rendu le contrôle d’arborescence étroit afin qu’il doit faire défiler automatiquement pour afficher l’élément d’arborescence qui a le focus.

m_treeCtrl.SetExtendedStyle(TVS_EX_AUTOHSCROLL, TVS_EX_AUTOHSCROLL);

CTreeCtrl::SetImageList

Appelez cette fonction pour définir la liste d’images normale ou d’état pour un contrôle d’arborescence et redessiner le contrôle à l’aide des nouvelles images.

CImageList* SetImageList(
    CImageList* pImageList,
    int nImageListType);

Paramètres

pImageList
Pointeur vers la liste d’images à affecter. Si pImageList c’est NULLle cas, toutes les images sont supprimées du contrôle d’arborescence.

nImageListType
Type de liste d’images à définir. La liste d’images peut être l’une des valeurs suivantes :

  • TVSIL_NORMAL Définit la liste d’images normale, qui contient les images sélectionnées et non sélectionnées pour l’élément d’arborescence. Vous devez utiliser cet état pour les images superposées.

  • TVSIL_STATE Définit la liste d’images d’état, qui contient les images des éléments d’arborescence qui sont dans un état défini par l’utilisateur.

Valeur de retour

Pointeur vers la liste d’images précédente, le cas échéant ; sinon NULL.

Exemple

Consultez l’exemple pour CTreeCtrl::GetImageList.

CTreeCtrl::SetIndent

Appelez cette fonction pour définir la largeur de retrait d’un contrôle d’arborescence et redessiner le contrôle pour refléter la nouvelle largeur.

void SetIndent(UINT nIndent);

Paramètres

nIndent
Largeur, en pixels, de la mise en retrait. Si nIndent elle est inférieure à la largeur minimale définie par le système, la nouvelle largeur est définie sur le minimum défini par le système.

Exemple

Consultez l’exemple pour CTreeCtrl::GetIndent.

CTreeCtrl::SetInsertMark

Cette fonction membre implémente le comportement du message TVM_SETINSERTMARKWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

BOOL SetInsertMark(
    HTREEITEM hItem,
    BOOL fAfter = TRUE);

Paramètres

hItem
HTREEITEM qui spécifie à quel élément la marque d’insertion sera placée. Si cet argument est NULL, la marque d’insertion est supprimée.

fAfter
Valeur BOOL qui spécifie si la marque d’insertion est placée avant ou après l’élément spécifié. Si cet argument n’est pas différent de zéro, la marque d’insertion est placée après l’élément. Si cet argument est égal à zéro, la marque d’insertion est placée avant l’élément.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

// Set the insert mark to be before the item at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetInsertMark(hItem, FALSE);
}

CTreeCtrl::SetInsertMarkColor

Cette fonction membre implémente le comportement du message TVM_SETINSERTMARKCOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

COLORREF SetInsertMarkColor(COLORREF clrNew);

Paramètres

clrNew
Valeur COLORREF qui contient la nouvelle couleur de marque d’insertion.

Valeur de retour

Valeur COLORREF qui contient la couleur de marque d’insertion précédente.

Exemple

Consultez l’exemple pour CTreeCtrl::GetInsertMarkColor.

CTreeCtrl::SetItem

Appelez cette fonction pour définir les attributs de l’élément d’arborescence spécifié.

BOOL SetItem(TVITEM* pItem);

BOOL SetItem(
    HTREEITEM hItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam);

Paramètres

pItem
Pointeur vers une TVITEM structure qui contient les nouveaux attributs d’élément, comme décrit dans le Kit de développement logiciel (SDK) Windows.

hItem
Handle de l’élément dont les attributs doivent être définis. Consultez le hItem membre de la TVITEM structure dans le Kit de développement logiciel (SDK) Windows.

nMask
Entier spécifiant les attributs à définir. Consultez le mask membre de la TVITEM structure.

lpszItem
Adresse d’une chaîne contenant le texte de l’élément.

nImage
Index de l’image de l’élément dans la liste d’images du contrôle d’arborescence. Consultez le iImage membre de la TVITEM structure.

nSelectedImage
Index de l’image sélectionnée de l’élément dans la liste d’images du contrôle d’arborescence. Consultez le iSelectedImage membre de la TVITEM structure.

nState
Spécifie les valeurs des états de l’élément. Consultez le State membre de la TVITEM structure.

nStateMask
Spécifie les états à définir. Consultez le stateMask membre de la TVITEM structure.

lParam
Valeur spécifique à l’application de taille du pointeur associée à l’élément.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Dans la TVITEM structure, le hItem membre identifie l’élément et le mask membre spécifie les attributs à définir.

Si le membre ou le masknMask paramètre spécifie la TVIF_TEXT valeur, le pszText membre ou l’adresse lpszItem d’une chaîne terminée par null et le cchTextMax membre est ignoré. Si mask (ou nMask) spécifie la TVIF_STATE valeur, le stateMask membre ou le nStateMask paramètre spécifie les états d’élément à modifier et le membre ou nState le state paramètre contient les valeurs de ces états.

Exemple

// Show the item at the point myPoint in bold.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetItem(hItem, TVIF_STATE, NULL, 0, 0, TVIS_BOLD,
                      TVIS_BOLD, 0);
}

CTreeCtrl::SetItemData

Appelez cette fonction pour définir la valeur spécifique à l’application associée à l’élément spécifié.

BOOL SetItemData(
    HTREEITEM hItem,
    DWORD_PTR dwData);

Paramètres

hItem
Handle de l’élément dont les données doivent être récupérées.

dwData
Valeur spécifique à l’application de taille du pointeur associée à l’élément spécifié par hItem.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

CString str;
HTREEITEM hItem;

// Insert 20 items into the tree control making every item's
// data be the handle of the item.
for (int i = 0; i < 20; i++)
{
   str.Format(TEXT("item %d"), i);
   hItem = m_TreeCtrl.InsertItem(str);

   if (hItem != NULL)
   {
      m_TreeCtrl.SetItemData(hItem, (DWORD_PTR)hItem);
   }
}

CTreeCtrl::SetItemExpandedImageIndex

Définit l’index de l’image à afficher lorsque l’élément spécifié du contrôle d’arborescence actuel est dans l’état développé.

BOOL SetItemExpandedImageIndex(
    HTREEITEM hItem,
    int iExpandedImage);

Paramètres

hItem
[in] Gérer vers un élément de contrôle d’arborescence.

iExpandedImage
[in] Index de l’image à afficher lorsque l’élément spécifié est dans l’état développé.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Cette méthode envoie le TVM_SETITEM message, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Cette méthode affecte le iExpandedImage paramètre au iExpandedImage membre d’une TVITEMEX structure, puis utilise cette structure dans le message.

Exemple

Le premier exemple de code définit une variable, m_treeCtrlutilisée pour accéder au contrôle d’arborescence actuel. L’exemple de code définit également un entier non signé et plusieurs HTREEITEM variables. Ces variables sont utilisées dans l’exemple suivant.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L’exemple de code suivant est un test trivial pour déterminer si la CTreeCtrl::GetItemExpandedImageIndex méthode retourne la valeur définie par la CTreeCtrl::SetItemExpandedImageIndex méthode. Dans une section antérieure de l’exemple de code, qui n’est pas illustré, nous avons créé une arborescence qui se compose d’un nœud pays/région racine pour le États-Unis, les sous-nœuds pour les états de Pennsylvanie et de Washington, et les éléments d’arborescence pour les villes de ces états.

CString str;
CString msg = _T("The set and retrieved item expanded image ")
              _T("indexes are%s equal.");
int nSetItem = 0;
m_treeCtrl.SetItemExpandedImageIndex(hCountry, nSetItem);
int nItem = m_treeCtrl.GetItemExpandedImageIndex(hCountry);
if (nItem == nSetItem)
   str.Format(msg, _T(""));
else
   str.Format(msg, _T(" not"));
AfxMessageBox(str, MB_ICONINFORMATION);

CTreeCtrl::SetItemHeight

Cette fonction membre implémente le comportement du message TVM_SETITEMHEIGHTWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

SHORT SetItemHeight(SHORT cyHeight);

Paramètres

cyHeight
Spécifie la nouvelle hauteur de chaque élément dans l’arborescence, en pixels. Si cet argument est inférieur à la hauteur des images, il est défini sur la hauteur des images. Si cet argument n’est pas pair, il est arrondi à la valeur même la plus proche. Si cet argument est -1, le contrôle revient à utiliser sa hauteur d’élément par défaut.

Valeur de retour

Hauteur précédente des éléments, en pixels.

Exemple

Consultez l’exemple pour CTreeCtrl::GetItemHeight.

CTreeCtrl::SetItemImage

Associe des images à un élément.

BOOL SetItemImage(
    HTREEITEM hItem,
    int nImage,
    int nSelectedImage);

Paramètres

hItem
Handle de l’élément dont l’image doit être définie.

nImage
Index de l’image de l’élément dans la liste d’images du contrôle d’arborescence.

nSelectedImage
Index de l’image sélectionnée de l’élément dans la liste d’images du contrôle d’arborescence.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Chaque élément d’un contrôle d’arborescence peut avoir une paire d’images bitmap associées. Les images apparaissent à gauche de l'étiquette d'un élément. Une image est affichée lorsque l'élément est sélectionné, et l'autre est affichée lorsque l'élément n'est pas sélectionné. Par exemple, un élément peut afficher un dossier ouvert lorsqu’il est sélectionné et un dossier fermé lorsqu’il ne l’est pas.

Appelez cette fonction pour définir l’index de l’image de l’élément et son image sélectionnée dans la liste d’images du contrôle d’arborescence.

Pour plus d’informations sur les images, consultez CImageList.

Exemple

Consultez l’exemple pour CTreeCtrl::GetItemImage.

CTreeCtrl::SetItemState

Définit l’état de l’élément spécifié par hItem.

BOOL SetItemState(
    HTREEITEM hItem,
    UINT nState,
    UINT nStateMask);

Paramètres

hItem
Handle de l’élément dont l’état doit être défini.

nState
Spécifie de nouveaux états pour l’élément.

nStateMask
Spécifie les états à modifier.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Pour plus d’informations sur les états, consultez CTreeCtrl::GetItem.

Exemple

Consultez l’exemple pour CTreeCtrl::GetItemState.

CTreeCtrl::SetItemStateEx

Définit l’état étendu de l’élément spécifié dans le contrôle d’arborescence actuel.

BOOL SetItemStateEx(
    HTREEITEM hItem,
    UINT uStateEx);

Paramètres

hItem
[in] Gérer vers un élément de contrôle d’arborescence.

uStateEx
[in] État étendu de l’élément. Pour plus d’informations, consultez le uStateEx membre de la TVITEMEX structure.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Cette méthode envoie le TVM_SETITEM message, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Cette méthode affecte le uStateEx paramètre au uStateEx membre d’une TVITEMEX structure, puis utilise cette structure dans le message.

Exemple

Le premier exemple de code définit une variable, m_treeCtrlutilisée pour accéder au contrôle d’arborescence actuel. L’exemple de code définit également un entier non signé et plusieurs HTREEITEM variables. Ces variables sont utilisées dans l’exemple suivant.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L’exemple de code suivant définit un élément d’arborescence à l’état désactivé. Dans une section antérieure de l’exemple de code, qui n’est pas illustré, nous avons créé une arborescence qui se compose d’un nœud pays/région racine pour le États-Unis, les sous-nœuds pour les états de Pennsylvanie et de Washington, et les éléments d’arborescence pour les villes de ces états. Cet exemple de code définit le nœud Pennsylvanie sur l’état désactivé.

// Disable the Pennsylvania node.
m_treeCtrl.SetItemStateEx(hPA, TVIS_EX_DISABLED);

CTreeCtrl::SetItemText

Définit le texte de l’élément spécifié par hItem.

BOOL SetItemText(
    HTREEITEM hItem,
    LPCTSTR lpszItem);

Paramètres

hItem
Handle de l’élément dont le texte doit être défini.

lpszItem
Adresse d’une chaîne contenant le nouveau texte de l’élément

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

// Clear the text of the item at point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetItemText(hItem, NULL);
}

CTreeCtrl::SetLineColor

Appelez cette fonction membre pour définir la couleur de ligne actuelle pour le contrôle d’arborescence.

COLORREF SetLineColor(COLORREF clrNew = CLR_DEFAULT);

Paramètres

clrNew
Nouvelle couleur de ligne.

Valeur de retour

Couleur de ligne précédente.

Notes

Cette fonction membre implémente le comportement du message TVM_SETLINECOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

COLORREF clrPrev = m_TreeCtrl.SetLineColor(RGB(255, 0, 0));

CTreeCtrl::SetScrollTime

Appelez cette fonction membre pour définir la durée de défilement maximale pour le contrôle d’arborescence.

UINT SetScrollTime(UINT uScrollTime);

Paramètres

uScrollTime
Nouvelle durée de défilement maximale, en millisecondes. Si cette valeur est inférieure à 100, elle est arrondie à 100.

Valeur de retour

Temps de défilement maximal précédent, en millisecondes.

Notes

Cette fonction membre implémente le comportement du message TVM_SETSCROLLTIMEWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CTreeCtrl::SetTextColor

Cette fonction membre implémente le comportement du message TVM_SETTEXTCOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

COLORREF SetTextColor(COLORREF clr);

Paramètres

clr
Valeur COLORREF qui contient la nouvelle couleur de texte. Si cet argument est -1, le contrôle revient à utiliser la couleur système de la couleur du texte.

Valeur de retour

Valeur COLORREF qui représente la couleur de texte précédente. Si cette valeur est -1, le contrôle utilise la couleur système de la couleur du texte.

Exemple

// change text color to white and background to dark blue
m_TreeCtrl.SetTextColor(RGB(255, 255, 255));
ASSERT(m_TreeCtrl.GetTextColor() == RGB(255, 255, 255));
m_TreeCtrl.SetBkColor(RGB(0, 0, 128));
ASSERT(m_TreeCtrl.GetBkColor() == RGB(0, 0, 128));

// force repaint immediately
m_TreeCtrl.Invalidate();

CTreeCtrl::SetToolTips

Cette fonction membre implémente le comportement du message TVM_SETTOOLTIPSWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

Paramètres

pWndTip
Pointeur vers un CToolTipCtrl objet que le contrôle d’arborescence utilisera.

Valeur de retour

Pointeur vers un CToolTipCtrl objet contenant l’info-bulle précédemment utilisée par le contrôle, ou NULL si aucune info-bulle n’a été utilisée précédemment.

Notes

Pour utiliser des info-bulles, indiquez le TVS_NOTOOLTIPS style lorsque vous créez l’objet CTreeCtrl .

Exemple

Consultez l’exemple pour CTreeCtrl::GetToolTips.

CTreeCtrl::ShowInfoTip

Affiche l’info-bulle de l’élément spécifié dans le contrôle d’arborescence actuel.

void ShowInfoTip(HTREEITEM hItem);

Paramètres

hItem
[in] Handle vers un élément d’arborescence dans le contrôle. Pour plus d’informations, consultez le hItem membre de la TVITEMEX structure.

Notes

Pour plus d’informations sur la différence entre les info-bulles et les info-bulles, consultez info-bulles et info-bulles.

Cette méthode envoie le TVM_SHOWINFOTIP message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CTreeCtrl::SortChildren

Appelez cette fonction pour trier par ordre alphabétique les éléments enfants de l’élément parent donné dans un contrôle d’arborescence.

BOOL SortChildren(HTREEITEM hItem);

Paramètres

hItem
Handle de l’élément parent dont les éléments enfants doivent être triés. Si hItem c’est NULLle cas, le tri se poursuit à partir de la racine de l’arborescence.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

SortChildren ne récursira pas à travers l’arborescence ; seuls les enfants immédiats de hItem seront triés.

Exemple

// Sort all of the items in the tree control.
m_TreeCtrl.SortChildren(TVI_ROOT);

CTreeCtrl::SortChildrenCB

Appelez cette fonction pour trier les éléments d’arborescence à l’aide d’une fonction de rappel définie par l’application qui compare les éléments.

BOOL SortChildrenCB(LPTVSORTCB pSort);

Paramètres

pSort
Pointeur désignant une structure TVSORTCB.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

La fonction de comparaison de la structure, lpfnComparedoit retourner une valeur négative si le premier élément doit précéder le deuxième, une valeur positive si le premier élément doit suivre le deuxième ou zéro si les deux éléments sont équivalents.

Les lParam1 paramètres correspondent lParam2 au lParam membre de la TVITEM structure pour les deux éléments comparés. Le lParamSort paramètre correspond au lParam membre de la TV_SORTCB structure.

Exemple

// Sort the item in reverse alphabetical order.
int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
   // lParamSort contains a pointer to the tree control.
   // The lParam of an item is just its handle, 
   // as specified with SetItemData
   CTreeCtrl* pmyTreeCtrl = (CTreeCtrl*)lParamSort;
   CString strItem1 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam1);
   CString strItem2 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam2);

   return strItem2.Compare(strItem1);
}

 

TVSORTCB tvs;

// Sort the tree control's items using my
// callback procedure.
tvs.hParent = TVI_ROOT;
tvs.lpfnCompare = MyCompareProc;
tvs.lParam = (LPARAM)&m_TreeCtrl;

m_TreeCtrl.SortChildrenCB(&tvs);

Voir aussi

Exemple MFC CMNCTRL1
CWnd Classe
Graphique hiérarchique
CImageList Classe