LB_INITSTORAGE

【勇芳软件工作室】汉化HomePreviousNext

分配用于存储列表框项目的内存。在将大量项目添加到列表框之前,应用程序会发送此消息。

LB_INITSTORAGE

wParam = (WPARAM) (int) cItems; //要添加的项目数

lParam = (LPARAM) (DWORD) cb; //要分配的内存量,以字节为单位

参数

【指定为项目字符串分配的内存量(以字节为单位)。】

指定要添加的项目数。

Windows 95: 【wParam中】参数限制为16位值。这意味着列表框不能包含超过32,767个项目。虽然项目数量受到限制,但列表框中项目的总大小(以字节为单位)仅受可用内存限制。

【cb】

指定为项目字符串分配的内存量(以字节为单位)。

返回值

返回值是存储器对象在需要另一个存储器重新分配之前可以存储的最大项目数,如果成功。如果没有足够的内存可用,则为LB_ERRSPACE。

备注

Windows 95:此消息有助于加快具有大量项目(大于100)的列表框的初始化。它保留指定的内存量,以便后续的LB_ADDSTRING,LB_INSERTSTRING,LB_DIR和LB_ADDFILE消息占用最短的时间。您可以使用【指定为项目字符串分配的内存量(以字节为单位)。】【cb】参数的估算值。如果你过高估计,额外的内存被分配;如果你低估了,正常的分配是用于超过要求的数量的项目。

Windows NT: Windows NT上不需要此消息。它不保留指定的内存量,因为可用内存几乎是无限制的。返回值始终是【指定为项目字符串分配的内存量(以字节为单位)。】参数中指定的值。

也可以看看

LB_ADDFILE, LB_ADDSTRING, LB_DIR, LB_INSERTSTRING