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