сообщение LB_INSERTSTRING

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

Параметры

wParam

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

lParam

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

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

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

Remarks

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

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

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

Требования

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

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

Ссылки

LB_ADDSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT