сообщение 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 [только классические приложения]
Header
Winuser.h (include Windows.h)

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

Ссылки

LB_DELETESTRING

LB_INSERTSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT

WM_COMPAREITEM