LB_GETTEXTLEN消息

获取列表框中字符串的长度。

参数

wParam

字符串的从零开始的索引。

Windows 95/Windows 98/Windows 千年版 (Windows Me) :wParam 参数限制为 16 位值。 这意味着列表框不能包含超过 32,767 个项目。 尽管项数受到限制,但列表框中项的总大小(以字节为单位)仅受可用内存的限制。

lParam

未使用此参数。

返回值

返回值是字符串的长度(以 TCHAR 为单位),不包括终止 null 字符。 在某些情况下,此值实际上可能大于文本的长度。 有关更多信息,请参见下面的“备注”部分。

如果 wParam 参数未指定有效的索引,则返回值LB_ERR。

注解

在某些情况下,返回值大于文本的实际长度。 这发生在 ANSI 和 Unicode 的某些混合体中,这是因为操作系统允许在文本中存在双字节字符集 (DBCS) 字符。 但是,返回值始终至少与文本的实际长度一样大:因此,你始终可以使用它来引导缓冲区分配。 当应用程序同时使用 ANSI 函数和使用 Unicode 的常见对话时,可能会出现此行为。

若要获取文本的确切长度,请使用 WM_GETTEXTLB_GETTEXTCB_GETLBTEXT 消息或 GetWindowText 函数。

如果列表框具有所有者绘制样式,但不是 LBS_HASSTRINGS 样式,则返回值始终为 DWORD 的大小(以字节为单位)。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
Winuser.h (包括 Windows.h)

另请参阅

引用

CB_GETLBTEXT

LB_GETTEXT

其他资源

GetWindowText

WM_GETTEXT