Partager via


macro ListView_SetItemState (commctrl.h)

Modifie l’état d’un élément dans un contrôle d’affichage de liste. Vous pouvez utiliser cette macro ou envoyer explicitement le message LVM_SETITEMSTATE .

Syntaxe

void ListView_SetItemState(
   hwndLV,
   i,
   data,
   mask
);

Paramètres

hwndLV

Type : HWND

Handle pour le contrôle d’affichage de liste.

i

Type : int

Index de l’élément d’affichage de liste. Si ce paramètre a la valeur -1, le changement d’état est appliqué à tous les éléments.

data

Type : UINT

Nouveaux bits d’état pour l’élément. Le paramètre mask indique les bits valides du paramètre d’état . La macro ignore les bits dans le paramètre d’état si le bit correspondant n’est pas défini dans le paramètre mask . L’octet d’ordre inférieur contient un ensemble d’indicateurs de bits qui indiquent l’état de l’élément. Cet octet peut être une combinaison des valeurs suivantes :

Valeur Signification
LVIS_CUT
L’élément est marqué pour une opération de couper-coller.
LVIS_DROPHILITED
L’élément est mis en surbrillance en tant que cible glisser-déplacer.
LVIS_FOCUSED
L’élément ayant le focus, il est entouré d’un rectangle de focus standard. Bien que plusieurs éléments puissent être sélectionnés, un seul élément peut avoir le focus.
LVIS_SELECTED
L'élément est sélectionné. L’apparence d’un élément sélectionné dépend du fait qu’il a le focus et également des couleurs système utilisées pour la sélection. Les éléments s’affichent comme sélectionnés uniquement si le contrôle d’affichage de liste a le focus ou si le style LVS_SHOWSELALWAYS est utilisé.

mask

Type : UINT

Bits du paramètre d’état que vous souhaitez définir ou effacer. Vous pouvez utiliser ListView_SetItemState pour définir et effacer des bits. Pour définir l’index d’image de superposition d’un élément, définissez les bits LVIS_OVERLAYMASK . Pour définir l’index d’image d’état d’un élément, définissez les bits LVIS_STATEIMAGEMASK .

Valeur de retour

None

Remarques

La valeur d’état d’un élément inclut un ensemble d’indicateurs de bits qui indiquent l’état de l’élément. La valeur d’état peut également inclure des index de liste d’images qui indiquent l’image d’état et l’image de superposition de l’élément.

Le paramètre mask spécifie les bits d’état que vous souhaitez modifier, et le paramètre d’état spécifie la nouvelle valeur pour ces bits. Pour définir un bit dans l’état interne de l’élément, définissez-le dans les paramètres mask et state . Pour effacer un peu dans l’état interne de l’élément, définissez-le dans le paramètre mask et effacez-le dans le paramètre d’état . Pour laisser un peu inchangé dans l’état interne de l’élément, effacez-le dans le paramètre mask .

Les bits 8 à 11 du paramètre d’état spécifient l’index de base unique d’une image de superposition dans les listes d’images du contrôle. 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 spécifier un index de superposition, utilisez la macro INDEXTOOVERLAYMASK .

Les bits 12 à 15 du paramètre d’état spécifient l’index de base unique d’une image dans la liste des images d’état du contrôle. 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 spécifier un index d’image d’état, utilisez la macro INDEXTOSTATEIMAGEMASK .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête commctrl.h

Voir aussi

ListView_GetItemState