Structure TVITEMEXW (commctrl.h)

Spécifie ou reçoit les attributs d’un élément d’arborescence. Cette structure est une amélioration de la structure TVITEM . Les nouvelles applications doivent utiliser cette structure le cas échéant.

Syntaxe

typedef struct tagTVITEMEXW {
  UINT      mask;
  HTREEITEM hItem;
  UINT      state;
  UINT      stateMask;
  LPWSTR    pszText;
  int       cchTextMax;
  int       iImage;
  int       iSelectedImage;
  int       cChildren;
  LPARAM    lParam;
  int       iIntegral;
  UINT      uStateEx;
  HWND      hwnd;
  int       iExpandedImage;
  int       iReserved;
} TVITEMEXW, *LPTVITEMEXW;

Membres

mask

Type : UINT

Tableau d’indicateurs qui indiquent les autres membres de la structure qui contiennent des données valides. Lorsque cette structure est utilisée avec le message TVM_GETITEM , le membre de masque indique les attributs d’élément à récupérer. S’il est utilisé avec le message TVM_SETITEM , le masque indique les attributs à définir. Ce membre peut être une ou plusieurs des valeurs suivantes :

Valeur Signification
TVIF_CHILDREN
Le membre cChildren est valide.
TVIF_DI_SETITEM
Le contrôle arborescence conserve les informations fournies et ne les demande pas à nouveau. Cet indicateur est valide uniquement lors du traitement de la notification TVN_GETDISPINFO .
TVIF_EXPANDEDIMAGE

Version 6.00 et Windows Vista. Le membre iExpandedImage est valide.

TVIF_HANDLE
Le membre hItem est valide.
TVIF_IMAGE
Le membre iImage est valide.
TVIF_INTEGRAL
Le membre iIntegral est valide.
TVIF_PARAM
Le membre lParam est valide.
TVIF_SELECTEDIMAGE
Le membre iSelectedImage est valide.
TVIF_STATE
Les membres state et stateMask sont valides.
TVIF_STATEEX

Version 6.00 et Windows Vista. Le membre uStateEx est valide.

TVIF_TEXT
Les membres pszText et cchTextMax sont valides.

hItem

Type : HTREEITEM

Gérez l’élément.

state

Type : UINT

Ensemble d’indicateurs de bits et d’index de liste d’images qui indiquent l’état de l’élément. Lors de la définition de l’état d’un élément, le membre stateMask indique les bits valides de ce membre. Lors de la récupération de l’état d’un élément, ce membre retourne l’état actuel pour les bits indiqués dans le membre stateMask . Pour plus d’informations sur ce membre, consultez la section Remarques.

Les bits 0 à 7 de ce membre contiennent les indicateurs d’état d’élément. Pour obtenir la liste des indicateurs d’état d’élément possibles, consultez États de l’élément de contrôle tree-View.

Les bits 8 à 11 de ce membre spécifient l’index d’image de superposition à base unique. L’image de superposition est superposée à l’image d’icône de l’élément. Si ces bits sont zéro, l’élément n’a aucune image de superposition. Pour isoler ces bits, utilisez le masque TVIS_OVERLAYMASK . Pour définir l’index d’image de superposition dans ce membre, utilisez la macro INDEXTOOVERLAYMASK . Les images superposées de la liste d’images sont définies avec la fonction ImageList_SetOverlayImage .

Une image d’état s’affiche en regard de l’icône d’un élément pour indiquer un état défini par l’application. Spécifiez la liste d’images d’état en envoyant un message TVM_SETIMAGELIST . Pour définir l’image d’état d’un élément, incluez la valeur TVIS_STATEIMAGEMASK dans le membre StateMask de la structure TVITEM . Les bits 12 à 15 du membre d’état de la structure spécifient l’index dans la liste d’images d’état de l’image à dessiner.

Pour définir l’index d’image d’état, utilisez INDEXTOSTATEIMAGEMASK. Cette macro prend un index et définit les bits 12 à 15 de manière appropriée. Pour indiquer que l’élément n’a pas d’image d’état, définissez l’index sur zéro. Cette convention signifie que l’image zéro dans la liste d’images d’état ne peut pas être utilisée comme image d’état. Pour isoler les bits 12 à 15 du membre d’état , utilisez le masque TVIS_STATEIMAGEMASK .

stateMask

Type : UINT

Bits du membre d’état valides. Si vous récupérez l’état d’un élément, définissez les bits du membre stateMask pour indiquer les bits à retourner dans le membre d’état . Si vous définissez l’état d’un élément, définissez les bits du membre stateMask pour indiquer les bits du membre d’état que vous souhaitez définir. Pour définir ou récupérer l’index d’image de superposition d’un élément, définissez les TVIS_OVERLAYMASK bits. Pour définir ou récupérer l’index d’image d’état d’un élément, définissez les TVIS_STATEIMAGEMASK bits.

pszText

Type : LPTSTR

Pointeur vers une chaîne terminée par null qui contient le texte de l’élément si la structure spécifie des attributs d’élément. Si ce membre est la valeur LPSTR_TEXTCALLBACK, la fenêtre parente est responsable du stockage du nom. Dans ce cas, le contrôle arborescence envoie à la fenêtre parente un code de notification TVN_GETDISPINFO lorsqu’elle a besoin du texte d’élément pour l’affichage, le tri ou la modification, ainsi qu’un TVN_SETDISPINFO code de notification lorsque le texte de l’élément change. Si la structure reçoit des attributs d’élément, ce membre est l’adresse de la mémoire tampon qui reçoit le texte de l’élément. Notez que bien que le contrôle arborescence autorise le stockage d’une chaîne de longueur en tant que texte d’élément, seuls les 260 premiers caractères sont affichés.

cchTextMax

Type : int

Taille de la mémoire tampon pointée vers le membre pszText , en caractères. Si cette structure est utilisée pour définir des attributs d’élément, ce membre est ignoré.

iImage

Type : int

Indexer dans la liste d’images du contrôle d’arborescence de l’image d’icône à utiliser lorsque l’élément est à l’état non sélectionné. Si ce membre est la valeur I_IMAGECALLBACK, la fenêtre parente est responsable du stockage de l’index. Dans ce cas, le contrôle arborescence envoie au parent un code de notification TVN_GETDISPINFO pour récupérer l’index lorsqu’il doit afficher l’image.

iSelectedImage

Type : int

Indexer dans la liste d’images du contrôle arborescence de l’image d’icône à utiliser lorsque l’élément est dans l’état sélectionné. Si ce membre est la valeur I_IMAGECALLBACK, la fenêtre parente est responsable du stockage de l’index. Dans ce cas, le contrôle arborescence envoie au parent un code de notification TVN_GETDISPINFO pour récupérer l’index lorsqu’il doit afficher l’image.

cChildren

Type : int

Indicateur qui indique si l’élément a des éléments enfants associés. Ce membre peut être l’une des valeurs suivantes :

Valeur Signification
zero
L’élément n’a pas d’éléments enfants.
Un
L’élément a un ou plusieurs éléments enfants.
I_CHILDRENCALLBACK
La fenêtre parente vérifie si l’élément a des éléments enfants. Dans ce cas, lorsque le contrôle arborescence doit afficher l’élément, le contrôle envoie au parent un code de notification TVN_GETDISPINFO pour déterminer si l’élément contient des éléments enfants. Si le contrôle arborescence a le style TVS_HASBUTTONS , il utilise ce membre pour déterminer s’il faut afficher le bouton indiquant la présence d’éléments enfants. Vous pouvez utiliser ce membre pour forcer le contrôle à afficher le bouton même si l’élément n’a pas d’éléments enfants insérés. Cela vous permet d’afficher le bouton tout en réduisant l’utilisation de la mémoire du contrôle en insérant des éléments enfants uniquement lorsque l’élément est visible ou développé.
I_CHILDRENAUTO

Version 6.0destinée à une utilisation interne ; non recommandée pour une utilisation dans les applications. Le contrôle arborescence détermine automatiquement si l’élément contient des éléments enfants.

Note Cet indicateur peut ne pas être pris en charge dans les versions ultérieures de Comctl32.dll. En outre, cet indicateur n’est pas défini dans commctrl.h. Ajoutez la définition suivante aux fichiers sources de votre application pour utiliser l’indicateur :
#define I_CHILDRENAUTO (-2)
 

lParam

Type : LPARAM

Valeur à associer à l’élément.

iIntegral

Type : int

Hauteur de l’élément, en multiples de la hauteur de l’élément standard (voir TVM_SETITEMHEIGHT). Par exemple, la définition de ce membre sur 2 donne à l’élément deux fois la hauteur standard. Le contrôle arborescence ne dessine pas dans la zone supplémentaire, qui apparaît sous le contenu de l’élément, mais cet espace peut être utilisé par l’application pour dessiner lors de l’utilisation du dessin personnalisé. Les applications qui n’utilisent pas de dessin personnalisé doivent définir cette valeur sur 1, dans le cas contraire, le comportement n’est pas défini.

uStateEx

Type : UINT

Internet Explorer 6 et versions ultérieures. Un ou plusieurs (sous forme de combinaison au niveau du bit) des états étendus suivants.

Valeur Signification
TVIS_EX_DISABLED
Windows Vista et versions ultérieures. Crée un contrôle dessiné en gris avec lequel l’utilisateur ne peut pas interagir.
TVIS_EX_FLAT
Crée un élément plat : l’élément est virtuel et n’est pas visible dans l’arborescence ; au lieu de cela, ses enfants prennent sa place dans la hiérarchie d’arborescence. Cet état est valide uniquement lors de l’ajout d’un élément au contrôle arborescence.
TVIS_EX_HWND
Crée un HWND distinct pour l’élément. Cet état est valide uniquement lors de l’ajout d’un élément au contrôle arborescence.

hwnd

Type : HWND

Internet Explorer 6 et versions ultérieures. Non utilisé ; doit avoir la valeur NULL.

iExpandedImage

Type : int

Internet Explorer 6 et versions ultérieures. Index de l’image dans la liste d’images du contrôle à afficher lorsque l’élément est à l’état développé.

iReserved

Type : int

Membre réservé. Ne pas utiliser.

Remarques

Notes

L’en-tête commctrl.h définit TVITEMEX comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête commctrl.h

Voir aussi

Ajout d’éléments Tree-View