Structure LVITEMW (commctrl.h)
Spécifie ou reçoit les attributs d’un élément list-view. Cette structure a été mise à jour pour prendre en charge une nouvelle valeur de masque (LVIF_INDENT) qui permet la mise en retrait des éléments. 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 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 |
---|---|
|
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. |
|
Le membre cColumns est valide ou doit être défini. |
|
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 . |
|
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 d’iGroupId est supposée être I_GROUPIDCALLBACK. |
|
Le membre iImage est valide ou doit être défini. |
|
Le membre iIndent est valide ou doit être défini. |
|
Le contrôle ne génère pas de LVN_GETDISPINFO pour récupérer des informations texte s’il reçoit un message LVM_GETITEM . Au lieu de cela, le membre pszText contiendra LPSTR_TEXTCALLBACK. |
|
Le membre lParam est valide ou doit être défini. |
|
Le membre d’état est valide ou doit être défini. |
|
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 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ônes de taille réelle et la petite liste d’images d’icône 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 aucune 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 de l’élément. Par exemple, le fait de définir 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 list-view autorise le stockage d’une chaîne de longueur en tant que texte d’élément, seuls les 260 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 list-view de la modification en envoyant un message LVM_SETITEM ou LVM_SETITEMTEXT .
Ne définissez pas pszText sur LPSTR_TEXTCALLBACK si le contrôle list-view a le style LVS_SORTASCENDING ou LVS_SORTDESCENDING .
cchTextMax
Type : int
Nombre de TCHARdans la mémoire tampon pointée vers 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_.
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 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 d’un élément avec une valeur lParam spécifiée.
iIndent
Type : int
Version 4.70. Nombre de largeurs d’image pour 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 |
---|---|
|
Le contrôle listview envoie au parent un code de notification LVN_GETDISPINFO pour récupérer l’index du groupe. |
|
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.
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).
Notes
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.
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.
Spécifications
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 |