Поделиться через


сообщение LB_ADDSTRING

Добавляет строку в список. Если в списке нет стиля LBS_SORT , строка добавляется в конец списка. В противном случае строка вставляется в список, а список сортируется.

Параметры

wParam

Этот параметр не используется.

lParam

Указатель на строку, завершающуюся значением NULL, которая должна быть добавлена.

Если список имеет стиль, нарисованный владельцем, но не стиль LBS_HASSTRINGS , этот параметр сохраняется в виде данных элемента, а не строки. Вы можете отправлять LB_GETITEMDATA и LB_SETITEMDATA сообщения для получения или изменения данных элемента.

Возвращаемое значение

Возвращаемое значение — отсчитываемый от нуля индекс строки в списке. При возникновении ошибки возвращаемое значение будет LB_ERR. Если места недостаточно для хранения новой строки, возвращаемое значение будет LB_ERRSPACE.

Комментарии

Если список имеет стиль, нарисованный владельцем, и стиль LBS_SORT , но не стиль LBS_HASSTRINGS , система отправляет WM_COMPAREITEM сообщение один или несколько раз владельцу списка, чтобы правильно разместить новый элемент в списке.

Сообщение LB_INITSTORAGE помогает ускорить инициализацию списков с большим количеством элементов (более 100). Он резервирует указанный объем памяти, чтобы последующие LB_ADDSTRING сообщения занимают самое короткое время. Вы можете использовать оценки для параметров wParam и lParam . Если вы переоцените, выделяется дополнительная память; если вы недооцениваете, обычное выделение используется для элементов, превышающих запрошенную сумму.

Если список имеет стиль WS_HSCROLL и вы добавляете строку шире, чем список, отправьте сообщение LB_SETHORIZONTALEXTENT , чтобы убедиться, что горизонтальная полоса прокрутки отображается.

Для приложения ANSI система преобразует текст в списке в Юникод с помощью CP_ACP. Это может привести к проблемам. Например, римские символы с акцентами в списке, отличном от Юникода в японском Windows, будут искажены. Чтобы устранить эту проблему, скомпилируйте приложение как Юникод или используйте список, нарисованный владельцем.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

См. также раздел

Справочные материалы

LB_DELETESTRING

LB_INSERTSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT

WM_COMPAREITEM