Приложение отправляет сообщение LB_INITSTORAGE перед добавлением большое количество элементов в поле со списком. Это сообщение выделяет память для хранения элементов списка поля.
LB_INITSTORAGE wParam = cItems (WPARAM) (Интернасьонал); / / число элементов для добавления lParam = cb (LPARAM) (DWORD); / / количество памяти для выделения в байтах
Windows 95 и Windows 98: Параметр wParam ограничен 16-битовых значений. Это означает, что поля списков не может содержать более 32 767 элементов. Хотя ограничено количество элементов, общий размер в байтах элементов в поле со списком ограничивается только размерами доступной памяти.
Если сообщение проходит успешно, возвращаемое значение является общее количество элементов, для которых памяти был pre-allocated, то есть, общее количество элементов, добавленных на всех успешных LB_INITSTORAGE сообщений.
Если сообщение не удается, возвращаемое значение — LB_ERRSPACE.
Windows NT: Для Windows NT версии 4.0 это сообщение не выделить указанный объем памяти; Однако он всегда возвращает значение, заданное в параметре cItems . Для Windows NT версии 5.0 выделяет память и возвращает значения успех и об ошибках, описанных выше сообщения.
LB_INITSTORAGE сообщение помогает ускорить процесс инициализации списков, содержащих большое количество элементов (более 100). Оставляет за собой указанное количество памяти, таким образом, чтобы последующие сообщения LB_ADDSTRING, LB_INSERTSTRING, LB_DIR и LB_ADDFILE принять как можно скорее. Оценки можно использовать для параметров cItems и cb . Если вы переоценить, дополнительная память выделяется; Если вы недооценивать, нормального распределения используется для элементов, которые превышают запрашиваемая сумма.
nbsp; Windows &NT: требует версии 4.0 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.
Обзор полей списка, списка окна сообщений, LB_ADDFILE, LB_ADDSTRING, LB_DIR, LB_INSERTSTRING