Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La classe
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 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 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_COLLAPSERéduit la liste.TVE_COLLAPSERESETRéduit la liste et supprime les éléments enfants. L’indicateurTVIS_EXPANDEDONCEd’état est réinitialisé. Cet indicateur doit être utilisé avec l’indicateurTVE_COLLAPSE.TVE_EXPANDDéveloppe la liste.TVE_TOGGLERé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_NORMALRé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_STATERé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_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_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_CARETRécupère l’élément actuellement sélectionné.TVGN_CHILDRécupère le premier élément enfant de l’élément spécifié par lehItemparamètre.TVGN_DROPHILITERécupère l’élément qui est la cible d’une opération de glisser-déplacer.TVGN_FIRSTVISIBLERécupère le premier élément visible.TVGN_LASTVISIBLERé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_NEXTRécupère l’élément frère suivant.TVGN_NEXTVISIBLERécupère l’élément visible suivant l’élément spécifié.TVGN_PARENTRécupère le parent de l’élément spécifié.TVGN_PREVIOUSRécupère l’élément frère précédent.TVGN_PREVIOUSVISIBLERécupère le premier élément visible qui précède l’élément spécifié.TVGN_ROOTRé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_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
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_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_CARETDéfinit la sélection sur l’élément donné.TVGN_DROPHILITERedessine l’élément donné dans le style utilisé pour indiquer la cible d’une opération de glisser-déplacer.TVGN_FIRSTVISIBLEFait 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_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_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_NORMALDé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_STATEDé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_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_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_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_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 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