Partager via


LB_ADDSTRING message

Ajoute une chaîne à une zone de liste. Si la zone de liste n’a pas le style LBS_SORT , la chaîne est ajoutée à la fin de la liste. Sinon, la chaîne est insérée dans la liste et la liste est triée.

Paramètres

wParam

Ce paramètre n'est pas utilisé.

lParam

Pointeur vers la chaîne terminée par null qui doit être ajoutée.

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 base zéro de la chaîne dans la zone de liste. Si une erreur se produit, la valeur de retour est LB_ERR. Si l’espace est insuffisant pour stocker la nouvelle chaîne, la valeur de retour est LB_ERRSPACE.

Notes

Si la zone de liste a un style dessiné par le propriétaire et le style LBS_SORT , mais pas le style LBS_HASSTRINGS , le système envoie le message WM_COMPAREITEM une ou plusieurs fois au propriétaire de la zone de liste pour placer correctement le nouvel élément dans la zone de liste.

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_ADDSTRING suivants prennent le plus court 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 le style WS_HSCROLL et que vous ajoutez 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 les Fenêtres japonaises seront brouillés. Pour résoudre ce problème, compilez l’application au format 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_DELETESTRING

LB_INSERTSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT

WM_COMPAREITEM