Compartilhar via


CComboBox::InitStorage

Aloca memória para armazenar itens da lista na parte da caixa de lista da caixa combo.

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 parte da caixa de lista da caixa combo pode armazenar antes que uma realocação de memória seja necessária, se não CB_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 à parte da caixa de listagem de CComboBox.

Windows 95 somente: /98 o parâmetro de wParam é 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.

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.

Exemplo

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

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe de CComboBox

Gráfico de hierarquia

CComboBox::CComboBox

CComboBox::Create

CComboBox::ResetContent

CB_INITSTORAGE