Sdílet prostřednictvím


CComboBox::InitStorage

Přidělí paměť pro ukládání položek seznamu v části seznamu pole se seznamem.

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, část seznamu pole se seznamem lze uložit před přerozdělení paměti potřebné, jinak CB_ERRSPACE, což není dostatek paměti k dispozici.

Poznámky

Před přidáním velký počet položek seznamu část volání této funkce CComboBox .

Windows 95/98 pouze: wParam 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.

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.

Příklad

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

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CComboBox

Graf hierarchie

CComboBox::CComboBox

CComboBox::Create

CComboBox::ResetContent

CB_INITSTORAGE