Partager via


Structure LVITEMW (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 le retrait d’élément. Cette structure remplace la structure LV_ITEM.

Syntaxe

typedef struct tagLVITEMW {
  UINT   mask;
  int    iItem;
  int    iSubItem;
  UINT   state;
  UINT   stateMask;
  LPWSTR pszText;
  int    cchTextMax;
  int    iImage;
  LPARAM lParam;
  int    iIndent;
  int    iGroupId;
  UINT   cColumns;
  PUINT  puColumns;
  int    *piColFmt;
  int    iGroup;
} LVITEMW, *LPLVITEMW;

Membres

mask

Type : UINT

Ensemble d’indicateurs qui spécifient les membres de cette structure qui contiennent des données à définir ou quels membres sont demandés. Ce membre peut avoir un ou plusieurs des indicateurs suivants définis :

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 cColumns membre est valide ou doit être défini.
LVIF_COLUMNS
Le cColumns membre 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 le demander à nouveau. Cet indicateur est utilisé uniquement avec le code de notification LVN_GETDISPINFO.
LVIF_GROUPID
Le iGroupId membre 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 textuelles s’il reçoit un message LVM_GETITEM. Au lieu de cela, le membre pszText contiendra LPSTR_TEXTCALLBACK.
LVIF_PARAM
Le membre lParam est valide ou doit être défini.
LVIF_STATE
L’état membre 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 la superposition de l’élément. Le stateMask membre 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 valeurs d’état d’élément .

Les bits 8 à 11 de ce membre spécifient l’index d’image de superposition à base unique. La liste d’images d’icône de taille complète et la petite liste d’images d’icône peuvent avoir des images superposées. 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 de LVIS_OVERLAYMASK. Pour définir l’index d’image de superposition dans ce membre, vous devez utiliser la macro INDEXTOOVERLAYMASK . Les images de superposition 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 aucune 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 de l’état membre seront récupérés ou modifiés. Par exemple, la définition de ce membre sur LVIS_SELECTED entraîne la récupération de l’état de sélection de l’élément uniquement.

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 'é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 les 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’à ce que la notification suivante ait été reçue.

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, seules les 260 premières 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 définir explicitement 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 liste a le style LVS_SORTASCENDING ou LVS_SORTDESCENDING.

cchTextMax

Type : int

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

Ce membre est utilisé uniquement lorsque la structure reçoit des attributs d’élément. Elle est ignorée 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_.

Remarque Ne jamais copier plus de cchTextMaxTCHAR, où cchTextMax inclut la fin NULL dans pszText pendant une notification de LVN_, sinon votre programme peut é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 fois à la liste d’images volumineuses et petites. 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’affichage de liste 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 list-view transmet cette valeur à la fonction de comparaison définie par l’application. Vous pouvez également utiliser le message LVM_FINDITEM pour rechercher un contrôle d’affichage de liste pour un élément avec une valeur lParam spécifiée.

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 d’un retrait sous-élément entraîne l’échec de la fonction appelante.

iGroupId

Type : int

version 6.0 Identificateur du groupe auquel appartient l’élément ou 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 obtenues 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 (seul ou combiné), en spécifiant le format de chaque sous-élément en mode vignette é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 mosaïque. Peut-être avoir un titre.
LVCFMT_WRAP
Permet à la colonne de s’encapsuler dans l’espace restant dans 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_INSERTITEMet 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 la vue 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 Using List-View Controls.

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

Note

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