TVITEMEXA structure (commctrl.h)
Spécifie ou reçoit des attributs d’un élément d’arborescence. Cette structure est une amélioration de la structure TVITEM
Syntaxe
typedef struct tagTVITEMEXA {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
int iIntegral;
UINT uStateEx;
HWND hwnd;
int iExpandedImage;
int iReserved;
} TVITEMEXA, *LPTVITEMEXA;
Membres
mask
Type : UINT
Tableau d’indicateurs qui indiquent quels membres de la structure contiennent des données valides. Lorsque cette structure est utilisée avec le message TVM_GETITEM, le masque membre indique les attributs d’élément à récupérer. Si elle est utilisée avec le message TVM_SETITEM, le masque indique les attributs à définir. Ce membre peut être une ou plusieurs des valeurs suivantes :
Valeur | Signification |
---|---|
|
Le membre cChildren est valide. |
|
Le contrôle d’arborescence conserve les informations fournies et ne le demande plus. Cet indicateur est valide uniquement lors du traitement de la notification TVN_GETDISPINFO. |
|
|
|
Le membre hItem est valide. |
|
Le membre iImage est valide. |
|
Le membre |
|
Le membre |
|
Le membre iSelectedImage est valide. |
|
L’état et les membres stateMask sont valides. |
|
version 6.00 et Windows Vista. Le membre uStateEx est valide. |
|
Les membres pszText et cchTextMax sont valides. |
hItem
Type : HTREEITEM
Gérer 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. Lorsque vous définissez l’état d’un élément, le stateMask membre 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 des bits indiqués dans le stateMask membre. 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 Tree-View États d’élément de contrôle.
Les bits 8 à 11 de ce membre spécifient l’index d’image de superposition à base unique. L’image de superposition est superposée sur l’image d’icône de l’élément. Si ces bits sont zéro, l’élément n’a pas d’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
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
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 aucune 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 de l’état membre, utilisez le masque de TVIS_STATEIMAGEMASK.
stateMask
Type : UINT
Bits de l’état membre valide. Si vous récupérez l’état d’un élément, définissez les bits du membre stateMask
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 chargée de stocker le nom. Dans ce cas, le contrôle d’arborescence envoie à la fenêtre parente un code de notification TVN_GETDISPINFO lorsqu’il a besoin du texte de l’élément pour l’affichage, le tri ou la modification et un code de notification TVN_SETDISPINFO 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 d’arborescence autorise tout stockage de 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 par 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
Index dans la liste d’images du contrôle tree-view de l’image d’icône à utiliser lorsque l’élément est dans 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 d’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
Index dans la liste d’images du contrôle d’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 d’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 associé des éléments enfants. Ce membre peut être l’une des valeurs suivantes :
Valeur | Signification |
---|---|
|
L’élément n’a aucun élément enfant. |
|
L’élément a un ou plusieurs éléments enfants. |
|
La fenêtre parente suit si l’élément a des éléments enfants. Dans ce cas, lorsque le contrôle d’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 a des éléments enfants. Si le contrôle d’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é. |
|
version 6.0destinée à une utilisation interne ; non recommandé pour une utilisation dans les applications. Le contrôle d’arborescence détermine automatiquement si l’élément a des éléments enfants.
Remarque 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 :
|
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 d’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 le dessin lors de l’utilisation de dessin personnalisé. Les applications qui n’utilisent pas de dessin personnalisé doivent définir cette valeur sur 1, car sinon le comportement n’est pas défini.
uStateEx
Type : UINT
Internet Explorer 6 et versions ultérieures. Une ou plusieurs (combinaison au niveau du bit) des états étendus suivants.
hwnd
Internet Explorer 6 et versions ultérieures. Non utilisé ; doit être 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 dans l’état développé.
iReserved
Type : int
Membre réservé. N’utilisez pas.
Remarques
Note
L’en-tête commctrl.h définit TVITEMEX comme 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
d’en-tête | commctrl.h |