WM_GETTEXTLENGTH

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

应用程序发送WM_GETTEXTLENGTH消息以确定与窗口相关联的文本的字符长度。长度不包括终止空字符。

WM_GETTEXTLENGTH

wParam = 0; // 不曾用过;必须为零

lParam = 0; // 不曾用过;必须为零

参数

此消息没有参数。

返回值

返回值是文本的长度(以字符为单位)。

默认动作

DefWindowProc函数返回文本的长度(以字符为单位)。在某些条件下,该值实际上可能大于文本的长度。有关详细信息,请参阅以下备注部分。

备注

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

在某些条件下,DefWindowProc 函数返回的值大于文本的实际长度。这与ANSI和Unicode的某些混合体发生,并且是由于操作系统允许在文本中可能存在DBCS字符。然而,返回值将始终至少与文本的实际长度一样大;您可以随时使用它来指导缓冲区分配。当应用程序使用同时使用Unicode的ANSI函数和公共对话框时,可能会发生此行为。

要获取文本的确切长度,请使用WM_GETTEXT,LB_GETTEXT或CB_GETLBTEXT消息或GetWindowText功能。

也可以看看

CB_GETLBTEXT, DefWindowProc, GetWindowText, GetWindowTextLength, LB_GETTEXT, LB_GETTEXTLEN, WM_GETTEXT