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 |
---|---|
|
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. |
|
Le cColumns membre 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 le demander à nouveau. Cet indicateur est utilisé uniquement avec le code de notification LVN_GETDISPINFO. |
|
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. |
|
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 textuelles 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. |
|
L’état membre 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 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 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
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_.
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
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 |
---|---|
|
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 obtenues en envoyant une notification LVN_GETDISPINFO.
puColumns
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.
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
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.
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 |