CListBox::InitStorage
Přidělí paměť pro ukládání položek v rozevíracím seznamu.
int InitStorage(
int nItems,
UINT nBytes
);
Parametry
nItems
Určuje počet položek, které chcete přidat.nBytes
Určuje množství paměti v bajtech, přidělit pro položku řetězce.
Vrácená hodnota
Pokud úspěšný, maximální počet položek, seznamu můžete uložit před přerozdělení paměti potřebné, jinak LB_ERRSPACE, což není dostatek paměti k dispozici.
Poznámky
Před přidáním velký počet položek volání této funkce CListBox .
Tato funkce pomáhá urychlit inicializace seznamy, které mají velký počet položek (více než 100).Je zadaná velikost paměti, takže následné preallocates AddString, InsertString, a Dir funkce vzít v nejkratší možné době.Můžete použít odhady parametrů.Pokud jste overestimate, některé další paměť přidělena; Pokud jste underestimate, normální rozdělení se používá pro zboží, které překročí předběžně přidělená částka.
Windows 95/98 pouze: nItems je omezena na 16bitové hodnoty parametru.To znamená, že seznamy nemůže obsahovat více než 32 767 položky.Ačkoli je omezen počet položek, celková velikost položky v seznamu je omezen pouze dostupné paměti.
Příklad
// 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 );
}
Požadavky
Záhlaví: afxwin.h