在将大量项目添加到组合框的列表框部分之前,应用程序将发送CB_INITSTORAGE消息。此消息分配用于存储列表框项目的内存。
CB_INITSTORAGE
wParam = (WPARAM) (int) cItems; //要添加的项目数
lParam = (LPARAM) (DWORD) cb; //要分配的内存量,以字节为单位
参数
【指定为项目字符串分配的内存量(以字节为单位)。】
指定要添加的项目数。
【cb】
指定要为项目字符串分配的内存量(以字节为单位)。
返回值
如果消息成功,则返回值是存储器对象可以存储的最大项目数。
如果消息失败,返回值为CB_ERR。
备注
Windows 95:此消息有助于加快初始化具有大量项目(超过100个)的组合框。它保留指定的内存量,以便随后的CB_ADDSTRING,CB_INSERTSTRING和CB_DIR消息占用最短的时间。您可以使用【指定为项目字符串分配的内存量(以字节为单位)。】和【cb】参数的估算值。如果您过高估计,额外的内存将被分配,如果您低估,则正常分配用于超出请求的数量的项目。
Windows NT: Windows NT上不需要此消息。它不保留指定的内存量,因为可用内存几乎是无限制的。返回值始终为【指定为项目字符串分配的内存量(以字节为单位)。】参数中指定的值。
也可以看看