Udostępnij za pośrednictwem


CListBox::InitStorage

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

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, pole listy, można przechowywać przed pamięci jest konieczna, w przeciwnym razie LB_ERRSPACE, mało pamięci, co jest dostępne.

Uwagi

Wywołanie tej funkcji przed dodaniem duża liczba elementów do CListBox.

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.

Windows 95/98 tylko: nItems 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.

Przykład

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

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CListBox

Wykres hierarchii

CListBox::CListBox

CListBox::Create

CListBox::ResetContent

LB_INITSTORAGE