Structure LVITEMA (commctrl.h)

Spécifie ou reçoit les attributs d’un élément d’affichage de liste. Cette structure a été mise à jour pour prendre en charge une nouvelle valeur de masque (LVIF_INDENT) qui active la mise en retrait des éléments. Cette structure remplace la structure LV_ITEM .

Syntaxe

typedef struct tagLVITEMA {
  UINT   mask;
  int    iItem;
  int    iSubItem;
  UINT   state;
  UINT   stateMask;
  LPSTR  pszText;
  int    cchTextMax;
  int    iImage;
  LPARAM lParam;
  int    iIndent;
  int    iGroupId;
  UINT   cColumns;
  PUINT  puColumns;
  int    *piColFmt;
  int    iGroup;
} LVITEMA, *LPLVITEMA;

Membres

mask

Type : UINT

Ensemble d’indicateurs qui spécifient quels membres de cette structure contiennent des données à définir ou quels membres sont demandés. Un ou plusieurs des indicateurs suivants peuvent être définis pour ce membre :

Valeur Signification
LVIF_COLFMT
Windows Vista et versions ultérieures. Le membre piColFmt est valide ou doit être défini. Si cet indicateur est utilisé, le membre cColumns est valide ou doit être défini.
LVIF_COLUMNS
Le membre cColumns est valide ou doit être défini.
LVIF_DI_SETITEM
Le système d’exploitation doit stocker les informations d’élément de liste demandées et ne pas les demander à nouveau. Cet indicateur est utilisé uniquement avec le code de notification LVN_GETDISPINFO .
LVIF_GROUPID
Le membre iGroupId est valide ou doit être défini. Si cet indicateur n’est pas défini lorsqu’un message LVM_INSERTITEM est envoyé, la valeur de iGroupId est supposée être I_GROUPIDCALLBACK.
LVIF_IMAGE
Le membre iImage est valide ou doit être défini.
LVIF_INDENT
Le membre iIndent est valide ou doit être défini.
LVIF_NORECOMPUTE
Le contrôle ne génère pas de LVN_GETDISPINFO pour récupérer des informations de texte s’il reçoit un message LVM_GETITEM . Au lieu de cela, le membre pszText contient LPSTR_TEXTCALLBACK.
LVIF_PARAM
Le membre lParam est valide ou doit être défini.
LVIF_STATE
Le membre d’état est valide ou doit être défini.
LVIF_TEXT
Le membre pszText est valide ou doit être défini.

iItem

Type : int

Index de base zéro de l’élément auquel cette structure fait référence.

iSubItem

Type : int

Index de base unique du sous-élément auquel cette structure fait référence, ou zéro si cette structure fait référence à un élément plutôt qu’à un sous-élément.

state

Type : UINT

Indique l’état, l’image d’état et l’image de superposition de l’élément. Le membre stateMask indique les bits valides de ce membre.

Les bits 0 à 7 de ce membre contiennent les indicateurs d’état d’élément. Il peut s’agir d’une ou plusieurs des valeurs d’état de l’élément .

Les bits 8 à 11 de ce membre spécifient l’index d’image de superposition de base unique. La liste d’images d’icônes de taille réelle et la liste d’images d’icônes de petite taille peuvent avoir des images superposées. 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 pas d’image de superposition. Pour isoler ces bits, utilisez le masque LVIS_OVERLAYMASK . Pour définir l’index d’image de superposition dans ce membre, vous devez utiliser la macro INDEXTOOVERLAYMASK . Les images superposées de la liste d’images sont définies avec la fonction ImageList_SetOverlayImage .

Les bits 12 à 15 de ce membre spécifient l’index d’image d’état. L’image d’état s’affiche en regard de l’icône d’un élément pour indiquer un état défini par l’application. Si ces bits sont zéro, l’élément n’a pas d’image d’état. Pour isoler ces bits, utilisez le masque LVIS_STATEIMAGEMASK . Pour définir l’index d’image d’état, utilisez la macro INDEXTOSTATEIMAGEMASK . L’index d’image d’état spécifie l’index de l’image dans la liste d’images d’état qui doit être dessinée. La liste d’images d’état est spécifiée avec le message LVM_SETIMAGELIST .

stateMask

Type : UINT

Valeur spécifiant les bits du membre d’état qui seront récupérés ou modifiés. Par exemple, si vous définissez ce membre sur LVIS_SELECTED , seul l’état de sélection de l’élément est récupéré.

Ce membre vous permet de modifier un ou plusieurs états d’élément sans avoir à récupérer d’abord tous les états d’élément. Par exemple, la définition de ce membre sur LVIS_SELECTED et l’état sur zéro entraîne l’effacement de l’état de sélection de l’élément, mais aucun des autres états n’est affecté.

Pour récupérer ou modifier tous les états, définissez ce membre sur (UINT)-1.

Vous pouvez utiliser la macro ListView_SetItemState à la fois pour définir et effacer des bits.

pszText

Type : LPTSTR

Si la structure spécifie des attributs d’élément, pszText est un pointeur vers une chaîne terminée par null contenant le texte de l’élément. Lorsque vous répondez à une notification LVN_GETDISPINFO , assurez-vous que ce pointeur reste valide jusqu’à la réception de la notification suivante.

Si la structure reçoit des attributs d’élément, pszText est un pointeur vers une mémoire tampon qui reçoit le texte de l’élément. Notez que bien que le contrôle d’affichage de liste autorise le stockage d’une chaîne de longueur en tant que texte d’élément, seuls les 259 premiers TCHARs’affichent.

Si la valeur de pszText est LPSTR_TEXTCALLBACK, l’élément est un élément de rappel. Si le texte de rappel change, vous devez explicitement définir pszText sur LPSTR_TEXTCALLBACK et notifier le contrôle d’affichage de liste de la modification en envoyant un message LVM_SETITEM ou LVM_SETITEMTEXT .

Ne définissez pas pszText sur LPSTR_TEXTCALLBACK si le contrôle d’affichage de liste a le style LVS_SORTASCENDING ou LVS_SORTDESCENDING .

cchTextMax

Type : int

Nombre de TCHARdans la mémoire tampon pointées par pszText, y compris la valeur NULL de fin.

Ce membre est utilisé uniquement lorsque la structure reçoit des attributs d’élément. Il est ignoré lorsque la structure spécifie des attributs d’élément. Par exemple, cchTextMax est ignoré pendant LVM_SETITEM et LVM_INSERTITEM. Il est en lecture seule pendant LVN_GETDISPINFO et d’autres notifications LVN_.

Note Ne copiez jamais plus de cchTextMaxTCHAR(oùcchTextMax inclut la valeur NULL de fin) dans pszText pendant une notification LVN_, sinon votre programme risque d’échouer.
 

iImage

Type : int

Index de l’icône de l’élément dans la liste d’images du contrôle. Cela s’applique à la grande et à la petite liste d’images. 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 list-view envoie au parent un code de notification LVN_GETDISPINFO pour récupérer l’index lorsqu’il doit afficher l’image.

lParam

Type : LPARAM

Valeur spécifique à l’élément. Si vous utilisez le message LVM_SORTITEMS , le contrôle d’affichage de liste transmet cette valeur à la fonction de comparaison définie par l’application. Vous pouvez également utiliser le message LVM_FINDITEM pour rechercher un élément avec une valeur lParam spécifiée dans un contrôle d’affichage de liste.

iIndent

Type : int

Version 4.70. Nombre de largeurs d’image à mettre en retrait l’élément. Une mise en retrait unique est égale à la largeur d’une image d’élément. Par conséquent, la valeur 1 met en retrait l’élément par la largeur d’une image, la valeur 2 retraits par deux images, et ainsi de suite. Notez que ce champ est pris en charge uniquement pour les éléments. La tentative de définition de la mise en retrait du sous-élément entraîne l’échec de la fonction appelante.

iGroupId

Type : int

Version 6.0 Identificateur du groupe auquel l’élément appartient ou de l’une des valeurs suivantes.

Valeur Signification
I_GROUPIDCALLBACK
Le contrôle listview envoie au parent un code de notification LVN_GETDISPINFO pour récupérer l’index du groupe.
I_GROUPIDNONE
L’élément n’appartient pas à un groupe.

cColumns

Type : UINT

Version 6.0 Nombre de colonnes de données (sous-éléments) à afficher pour cet élément en mode vignette. La valeur maximale est 20. Si cette valeur est I_COLUMNSCALLBACK, la taille du tableau de colonnes et du tableau lui-même (puColumns) sont obtenus en envoyant une notification LVN_GETDISPINFO .

puColumns

Type : PUINT

Version 6.0 Pointeur vers un tableau d’index de colonnes, spécifiant les colonnes affichées pour cet élément et l’ordre de ces colonnes.

piColFmt

Type : int*

Windows Vista : Non implémenté. Windows 7 et versions ultérieures : Pointeur vers un tableau des indicateurs suivants (seuls ou en combinaison), spécifiant le format de chaque sous-élément en mode mosaïque étendu.

Valeur Signification
LVCFMT_LINE_BREAK
Force la colonne à encapsuler en haut de la liste suivante de colonnes.
LVCFMT_FILL
Remplit le reste de la zone de vignette. Peut avoir un titre.
LVCFMT_WRAP
Permet à la colonne de s’encapsuler dans l’espace restant de sa liste de colonnes.
LVCFMT_NO_TITLE
Supprime le titre du sous-élément.
LVCFMT_TILE_PLACEMENTMASK
Équivaut à une combinaison de LVCFMT_LINE_BREAK et de LVCFMT_FILL.

iGroup

Type : int

Windows Vista : index de groupe de l’élément. Valide uniquement pour les données de propriétaire/rappel (élément unique dans plusieurs groupes).

Remarques

La structure LVITEM est utilisée avec plusieurs messages, notamment LVM_GETITEM, LVM_SETITEM, LVM_INSERTITEM et LVM_DELETEITEM.

En mode vignette, le nom de l’élément s’affiche à droite de l’icône. Vous pouvez spécifier des sous-éléments supplémentaires (correspondant aux colonnes de l’affichage des détails) à afficher sur les lignes sous le nom de l’élément. Le tableau puColumns contient les index des sous-éléments à afficher. Les index doivent être supérieurs à 0, car le sous-élément 0, le nom de l’élément, est déjà affiché. Les informations de colonne peuvent également être définies dans la structure LVTILEINFO lors de la modification de l’élément de liste.

Pour obtenir un exemple de code, consultez Utilisation de contrôles List-View.

Notez Comctl32.dll version 6 n’est pas redistribuable, mais elle est incluse dans Windows ou une version ultérieure. Pour utiliser Comctl32.dll version 6, spécifiez-la dans un manifeste. Pour plus d’informations sur les manifestes, consultez Activation des styles visuels.
 

Notes

L’en-tête commctrl.h définit LVITEM 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

   
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