CListBox::InitStorage

分配存储的列表框项内存。

int InitStorage(
   int nItems,
   UINT nBytes 
);

参数

  • nItems
    指定项的数目添加。

  • nBytes
    在字节指定大量内存,为项目字符串赋值。

返回值

如果成功,列表框可以存储项的最大项数,在内存重新分配需要之前,否则 LB_ERRSPACE,这意味着没有足够的内存可用。

备注

在添加大量项之前调用此功能。CListBox

此功能有助于加速初始化具有大量项的列表框(超过100)。 它指定预分配的内存量,以便后续 AddStringInsertStringDir 函数花费最短的时间。 您可以使用参数的估计。 如果估计锁争,一些额外的内存分配您;如果低估数据,正常分配给多个预分配的数量的项目。

Windows 95 /98仅: nItems 参数被限制为16位值。 这意味着列表框不能超过32,767个项目。 虽然项的数量的限制,项目的总大小在列表框中仅受可用内存的限制。

示例

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

要求

Header: afxwin.h

请参见

参考

CListBox选件类

层次结构图

CListBox::CListBox

CListBox::Create

CListBox::ResetContent

LB_INITSTORAGE