LVM_INSERTITEM message

Insère un nouvel élément dans un contrôle list-view. Vous pouvez envoyer ce message explicitement ou à l’aide de la macro ListView_InsertItem .

Paramètres

wParam

Doit être zéro.

lParam

Pointeur vers une structure LVITEM qui spécifie les attributs de l’élément list-view. Utilisez le membre iItem pour spécifier l’index de base zéro auquel le nouvel élément doit être inséré. Si cette valeur est supérieure au nombre d’éléments actuellement contenus dans la vue de liste, le nouvel élément est ajouté à la fin de la liste et affecté à l’index correct. Examinez la valeur de retour du message pour déterminer l’index réel affecté à l’élément.

Valeur retournée

Retourne l’index du nouvel élément en cas de réussite, ou -1 dans le cas contraire.

Notes

Vous ne pouvez pas utiliser ListView_InsertItem ou LVM_INSERTITEM pour insérer des sous-éléments. Le membre iSubItem de la structure LVITEM doit être égal à zéro. Consultez LVM_SETITEM pour plus d’informations sur la définition des sous-éléments.

Si un contrôle list-view a le LVS_EX_CHECKBOXES style défini, toute valeur placée en bits 12 à 15 du membre d’état de la structure LVITEM est ignorée. Lorsqu’un élément est ajouté avec ce jeu de style, il est toujours défini sur l’état décoché.

Si un contrôle d’affichage de liste a le style de fenêtre LVS_SORTASCENDING ou LVS_SORTDESCENDING , un message de LVM_INSERTITEM échoue si vous essayez d’insérer un élément qui a LPSTR_TEXTCALLBACK comme valeur pour son membre pszText .

Le message LVM_INSERTITEM insère le nouvel élément à la position appropriée dans l’ordre de tri si les conditions suivantes sont remplies :

  • Vous utilisez l’un des styles LVS_SORTXXX.
  • Vous n’utilisez pas le style LVS_OWNERDRAW .
  • Le membre pszText de la structure pointée vers pitem n’est pas défini sur LPSTR_TEXTCALLBACK.

Si la structure LVITEM ne contient pas de LVIF_GROUPID dans le membre de masque , la valeur du membre iGroupId est I_GROUPIDCALLBACK par défaut.

Spécifications

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]
En-tête
Commctrl.h
Noms Unicode et ANSI
LVM_INSERTITEMW (Unicode) et LVM_INSERTITEMA (ANSI)