CComboBox::InitStorage

Przydziela pamięć do przechowywania elementów pola listy w polu listy pola kombi.

int InitStorage( 
   int nItems, 
   UINT nBytes  
);

Parametry

  • nItems
    Określa liczbę elementów, aby dodać.

  • nBytes
    Określa ilość pamięci w bajtach, przydzielić elementu ciągów.

Wartość zwracana

Jeśli się powiedzie, maksymalna liczba elementów, część pola listy pola kombi może przechowywać przed pamięci jest konieczna, w przeciwnym razie CB_ERRSPACE, mało pamięci, co jest dostępne.

Uwagi

Wywołanie tej funkcji przed dodaniem dużą liczbę elementów w polu listy części CComboBox.

Windows 95/98 tylko: wParam parametr jest ograniczona do wartości 16-bitowych.Oznacza to, że pola listy nie może zawierać więcej niż 32 767 elementów.Chociaż liczba elementów jest ograniczone, całkowity rozmiar elementów w polu listy jest ograniczona jedynie przez ilość dostępnej pamięci.

Funkcja ta pomaga przyspieszyć Inicjalizacja listy pól, które mają dużą liczbę elementów (więcej niż 100).Preallocates on określony ilość pamięci, tak że późniejsze Addstring(), tym, i Dir funkcje podjąć w możliwie najkrótszym czasie.Szacunki można użyć parametrów.Jeśli wysokie, niektóre dodatkowa pamięć jest przydzielona; Jeśli niskie, normalnego alokacji jest używany dla zapasów, które przekraczają kwotę przydzielonych wstępnie.

Przykład

// 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);
}

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CComboBox

Diagram hierarchii

CComboBox::CComboBox

CComboBox::Create

CComboBox::ResetContent

CB_INITSTORAGE