CListBox::InitStorage

Выделяет память для хранения элементов списка.

int InitStorage(
   int nItems,
   UINT nBytes 
);

Параметры

  • nItems
    Определяет количество элементов для добавления.

  • nBytes
    Определяет объем памяти в байтах, чтобы выбрать для строк элемента.

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

Если успешно, максимальное количество элементов, список может храниться до переразмещение памяти, в противном случае LB_ERRSPACE, означать не достаточно памяти.

Заметки

Эта функция вызывается перед добавлением большое число элементов в CListBox.

Эта функция позволяет ускорения инициализации списков, имеющих большое количество элементов (больше чем 100).Он preallocates указанное количество памяти, так что последующие функции AddString, InsertString и Dir примут наименьшее возможное время.Можно использовать оценку параметров.Если overestimate некоторая дополнительная память, выделены; если underestimate, нормальное распределение используются для элементов, которые превышают предварительно число.

Windows 95 только: /98 Параметр nItems ограничен 16-разрядными значениями.Это означает, что список не может содержать более 32.767 элементов.Хотя количество элементов ограничиватьо общий размер элементов в списке ограничивается только доступной памятью.

Пример

// Initialize the storage of the list box to be 256 strings with
// about 10 characters per string, performance improvement.
int n = m_myListBox.InitStorage(256, 10);
ASSERT(n != LB_ERRSPACE);

// Add 256 items to the list box.
CString str;
for (int i = 0; i < 256; i++)
{
   str.Format(_T("item string %d"), i);
   m_myListBox.AddString( str );
}

Требования

Header: afxwin.h

См. также

Ссылки

CListBox - класс

Диаграмма иерархии

CListBox::CListBox

CListBox::Create

CListBox::ResetContent

LB_INITSTORAGE