Freigeben über


CComboBox::InitStorage

Belegt zum Speichern von Listenfeldelementen im Listenfeldbereich des Kombinationsfelds Speicher.

int InitStorage( 
   int nItems, 
   UINT nBytes  
);

Parameter

  • nItems
    Gibt die Anzahl der Elemente, die hinzuzufügen.

  • nBytes
    Gibt den Arbeitsspeicher, in Bytes an, die für Elementzeichenfolgen zuzuordnen.

Rückgabewert

Wenn erfolgreich, ist die maximale Anzahl von Elementen, die der Listenfeldbereich des Kombinationsfelds speichern kann, bevor eine Neubelegung des Speichers erforderlich ist; andernfalls CB_ERRSPACE, signifikant nicht genügend Arbeitsspeicher verfügbar.

Hinweise

Rufen Sie diese Funktion auf, bevor Sie viele Elemente zum Listenfeldbereich CComboBox hinzufügen.

Nur Windows 95/98: Der wParam-Parameter wird den 16-Bit-Werten beschränkt. Dies bedeutet, dass Listenfelder mehr als 32.767 Elemente enthalten können. Obwohl die Anzahl von Elementen beschränkt ist, wird die Gesamtgröße der Elemente in einem Listenfeld nur durch den verfügbaren Arbeitsspeicher begrenzt.

Diese Funktion ermöglicht, die Initialisierung von Listenfeldern zu beschleunigen, die viele Elemente haben (mehr als 100). Es weist den angegebenen Arbeitsspeicher zu, sodass folgende AddString, InsertString und Dir-Funktionen die kürzeste mögliche Verarbeitungsdauer. Sie können Schätzungen für die Parameter verwenden. Wenn Sie Überschätzung, entweder zusätzlicher Arbeitsspeicher zugeordnet werden; wenn Sie Underestimate, die normale Zuordnung für Elemente verwendet werden, die die zugeteilte Menge überschreiten.

Beispiel

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

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CComboBox-Klasse

Hierarchiediagramm

CComboBox::CComboBox

CComboBox::Create

CComboBox::ResetContent

CB_INITSTORAGE