Partager via


CListBox::InitStorage

Alloue de la mémoire pour stocker des éléments de zone de liste.

int InitStorage( 
   int nItems, 
   UINT nBytes  
);

Paramètres

  • nItems
    Spécifie le nombre d'éléments à ajouter.

  • nBytes
    Spécifie la quantité de mémoire, en octets, pour allouer des chaînes d'élément.

Valeur de retour

En cas de réussite, le nombre maximal d'éléments que la zone de liste peut stocker avant qu'une réallocation de mémoire soit nécessaire, sinon LB_ERRSPACE, ce qui signifie pas assez de mémoire est disponible.

Notes

Appelez cette fonction avant d'ajouter un grand nombre d'éléments à CListBox.

Cette fonction permet d'accélérer l'initialisation des zones de liste comportant un grand nombre d'éléments (plus de 100). Il préaffecte la valeur spécifiée de mémoire afin que les fonctions suivantes d' AddString, d' InsertString, et de Dir prennent du temps le plus court possible. Vous pouvez utiliser des estimations des paramètres. Si vous sur-estimation, une mémoire supplémentaire est alloué ; si vous underestimate, l'allocation normale est utilisé pour les éléments qui dépassent la quantité préaffectée.

Windows 95/98 uniquement : le paramètre d' nItems est limité aux valeurs 16 bits. Cela signifie que les zones de liste ne peuvent pas contenir plus de 32.767 éléments. Bien que le nombre d'éléments est restreint, la taille totale des éléments dans une zone de liste est limitée uniquement par la mémoire disponible.

Exemple

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

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CListBox, classe

Graphique de la hiérarchie

CListBox::CListBox

CListBox::Create

CListBox::ResetContent

LB_INITSTORAGE