WM_GETTEXTLENGTH消息

确定与窗口关联的文本的长度(以字符为单位)。

#define WM_GETTEXTLENGTH                0x000E

参数

wParam

不使用此参数,并且必须为零。

lParam

不使用此参数,并且必须为零。

返回值

类型: LRESULT

返回值是文本的长度(以字符为单位),不包括终止 null 字符。

备注

对于编辑控件,要复制的文本是编辑控件的内容。 对于组合框,文本是编辑控件 (或组合框的静态文本) 部分的内容。 对于按钮,文本是按钮名称。 对于其他窗口,文本是窗口标题。 若要确定列表框中项的长度,应用程序可以使用 LB_GETTEXTLEN 消息。

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

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

向非文本静态控件(如静态位图或静态图标控件)发送 WM_GETTEXTLENGTH 消息不会返回字符串值。 而是返回零。

要求

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

另请参阅

引用

DefWindowProc

GetWindowText

GetWindowTextLength

WM_GETTEXT

概念性

Windows

其他资源

CB_GETLBTEXT

LB_GETTEXT

LB_GETTEXTLEN