Partager via


LB_INSERTSTRING message

Insère une chaîne ou des données d’élément dans une zone de liste. Contrairement au message LB_ADDSTRING , le message LB_INSERTSTRING n’entraîne pas le tri d’une liste avec le style LBS_SORT .

Paramètres

wParam

Index de base zéro de la position à laquelle insérer la chaîne. Si ce paramètre est -1, la chaîne est ajoutée à la fin de la liste.

lParam

Pointeur vers la chaîne terminée par null à insérer. Si la zone de liste a un style dessiné par le propriétaire, mais pas le style LBS_HASSTRINGS , ce paramètre est stocké en tant que données d’élément au lieu d’une chaîne. Vous pouvez envoyer les messages LB_GETITEMDATA et LB_SETITEMDATA pour récupérer ou modifier les données d’élément.

Valeur retournée

La valeur de retour est l’index de la position à laquelle la chaîne a été insérée. Si une erreur se produit, la valeur de retour est LB_ERR. S’il n’y a pas suffisamment d’espace pour stocker la nouvelle chaîne, la valeur de retour est LB_ERRSPACE.

Notes

Le message LB_INITSTORAGE permet d’accélérer l’initialisation des zones de liste contenant un grand nombre d’éléments (plus de 100). Il réserve la quantité de mémoire spécifiée afin que les messages LB_INSERTSTRING suivants prennent le plus de temps possible. Vous pouvez utiliser des estimations pour les paramètres wParam et lParam . Si vous surestiment, la mémoire supplémentaire est allouée ; si vous sous-estimez, l’allocation normale est utilisée pour les éléments qui dépassent le montant demandé.

Si la zone de liste a WS_HSCROLL style et que vous insérez une chaîne plus large que la zone de liste, envoyez un message LB_SETHORIZONTALEXTENT pour vous assurer que la barre de défilement horizontale s’affiche.

Pour une application ANSI, le système convertit le texte d’une zone de liste en Unicode à l’aide de CP_ACP. Cela peut entraîner des problèmes. Par exemple, les caractères romains accentués dans une zone de liste non-Unicode dans Windows japonais seront brouillés. Pour résoudre ce problème, compilez l’application en tant qu’Unicode ou utilisez une zone de liste dessinée par le propriétaire.

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
Winuser.h (inclure Windows.h)

Voir aussi

Référence

LB_ADDSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT