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