CListBox::InitStorage
Aloca memória para armazenar itens da caixa de listagem.
int InitStorage(
int nItems,
UINT nBytes
);
Parâmetros
nItems
Especifica o número de itens para adicionar.nBytes
Especifica a quantidade de memória, em bytes, para atribuir para cadeias de caracteres de item.
Valor de retorno
Se bem sucedida, o número máximo de itens que a caixa de listagem pode armazenar antes que uma realocação de memória seja necessária, se não LB_ERRSPACE, significando memória suficiente não estão disponíveis.
Comentários
Chamar essa função antes de adicionar um grande número de itens a CListBox.
Essa função ajuda a acelerar a inicialização das caixas de listagem que têm um grande número de itens (mais de 100).Preallocates a quantidade de memória especificada de modo que as funções subseqüentes de AddString, de InsertString, e de Dir tenham o tempo possíveis os menores.Você pode usar avaliações para os parâmetros.Se você superestima, qualquer memória adicional é atribuída; se você underestimate, a alocação normal é usado para itens que excedem a quantidade preallocated.
Windows 95 somente: /98 o parâmetro de nItems é limitado aos valores de 16 bits.Isso significa que as caixas de listagem não podem conter mais de 32.767 itens.Embora o número de itens serão restritas, o tamanho total dos itens em uma caixa de listagem é delimitado somente pela memória disponível.
Exemplo
// 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 );
}
Requisitos
Cabeçalho: afxwin.h