Поделиться через


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

См. также

Ссылки

Класс CComboBox

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

CComboBox::CComboBox

CComboBox::Create

CComboBox::ResetContent

CB_INITSTORAGE