LB_INSERTSTRING сообщение

Вставляет данные строки или элемента в список. В отличие от LB_ADDSTRING сообщения , LB_INSERTSTRING сообщение не приводит к сортировке списка со стилем LBS_SORT .

Параметры

wParam

Отсчитываемый от нуля индекс позиции, в которую вставляется строка. Если этот параметр имеет значение -1, строка добавляется в конец списка.

lParam

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

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

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

Комментарии

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

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

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

Требования

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

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

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

LB_ADDSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT