CComboBox::InitStorage
Выделяет память для хранения элементов списка списка в поле со списком.
int InitStorage(
int nItems,
UINT nBytes
);
Параметры
nItems
Определяет количество элементов для добавления.nBytes
Определяет объем памяти в байтах, чтобы выбрать для строк элемента.
Возвращаемое значение
Если успешно, максимальное количество элементов, которые являются частью списка полей со списком может храниться до переразмещение памяти, в противном случае CB_ERRSPACE, означать не достаточно памяти.
Заметки
Эта функция вызывается перед добавлением большое число элементов в части списка CComboBox.
Windows 95 только: /98 Параметр wParam ограничен 16-разрядными значениями.Это означает, что список не может содержать более 32.767 элементов.Хотя количество элементов ограничиватьо общий размер элементов в списке ограничивается только доступной памятью.
Эта функция позволяет ускорения инициализации списков, имеющих большое количество элементов (больше чем 100).Он preallocates указанное количество памяти, так что последующие функции AddString, InsertString и Dir примут наименьшее возможное время.Можно использовать оценку параметров.Если overestimate некоторая дополнительная память, выделены; если underestimate, нормальное распределение используются для элементов, которые превышают предварительно число.
Пример
// Initialize the storage of the combo box to be 256 strings with
// about 10 characters per string, performance improvement.
int nAlloc = pmyComboBox->InitStorage(256, 10);
ASSERT(nAlloc != CB_ERRSPACE);
// Add 256 items to the combo box.
CString strAdd;
for (int i = 0; i < 256; i++)
{
strAdd.Format(_T("item string %d"), i);
m_pComboBox->AddString(strAdd);
}
Требования
Header: afxwin.h