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 de vérification 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 |
Mappe l’identificateur d’accessibilité spécifié au handle à un élément d’arborescence dans le contrôle d’arborescence actuel. |
CTreeCtrl::MapItemToAccID |
Mappe 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 de vérification 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 :
Référence du contrôle d’arborescence dans le Kit de développement logiciel (SDK) Windows.
Hiérarchie d'héritage
CTreeCtrl
Spécifications
En-tête : afxcmn.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 CRect
RECT
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 Create
de , 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 ignorer les 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’indicateurTVIS_EXPANDEDONCE
d’état est réinitialisé. Cet indicateur doit être utilisé avec l’indicateurTVE_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_GETBKCOLOR
Win32, comme décrit dans le 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 de vérification 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 activé ; 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_GETINSERTMARKCOLOR
Win32, comme décrit dans le 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_GETITEMHEIGHT
Win32, comme décrit dans le 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_treeCtrl
utilisé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, nStateMask
consultez 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_treeCtrl
utilisé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_GETLINECOLOR
Win32, comme décrit dans le 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 lehItem
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_GETSCROLLTIME
Win32, comme décrit dans le 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_GETTEXTCOLOR
Win32, comme décrit dans le 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_GETTOOLTIPS
Win32, comme décrit dans le 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 :
Valeur | 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
Mappe 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_treeCtrl
utilisé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
Mappe 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_treeCtrl
utilisé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 NULL
le 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_treeCtrl
utilisé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_SETBKCOLOR
Win32, comme décrit dans le 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 de vérification d’un élément de contrôle d’arborescence.
BOOL SetCheck(
HTREEITEM hItem,
BOOL fCheck = TRUE);
Paramètres
hItem
Pour HTREEITEM
recevoir la modification de l’état de vérification.
fCheck
Indique si l’élément de contrôle d’arborescence doit être activé ou désactivé. Par défaut, SetCheck
définit l’élément à vérifier.
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 activé (fCheck
défini sur TRUE
), l’élément apparaît avec une coche 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 des cases à cocher, 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_treeCtrl
utilisé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 NULL
le 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_SETINSERTMARK
Win32, comme décrit dans le 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_SETINSERTMARKCOLOR
Win32, comme décrit dans le 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 mask
nMask
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_treeCtrl
utilisé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_SETITEMHEIGHT
Win32, comme décrit dans le 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_treeCtrl
utilisé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_SETLINECOLOR
Win32, comme décrit dans le 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_SETSCROLLTIME
Win32, comme décrit dans le SDK Windows.
CTreeCtrl::SetTextColor
Cette fonction membre implémente le comportement du message TVM_SETTEXTCOLOR
Win32, comme décrit dans le 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_SETTOOLTIPS
Win32, comme décrit dans le 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 NULL
le 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, lpfnCompare
doit 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