WM_GETTEXT消息
将对应于窗口的文本复制到调用方提供的缓冲区中。
#define WM_GETTEXT 0x000D
参数
-
wParam
-
要复制的最大字符数,包括终止 null 字符。
由于从 ANSI 转换为 Unicode,ANSI 应用程序可能会将缓冲区中的字符串的大小 (减小到 wParam 值的最小一半) 。
-
lParam
-
指向要接收文本的缓冲区的指针。
返回值
类型: LRESULT
返回值是复制的字符数,不包括终止 null 字符。
备注
DefWindowProc 函数将与窗口关联的文本复制到指定的缓冲区中,并返回复制的字符数。 请注意,对于非文本静态控件,这会提供最初创建控件时使用的文本,即 ID 号。 但是,它提供最初创建的非文本静态控件的 ID。 也就是说,如果随后使用 STM_SETIMAGE 对其进行更改,则仍会返回原始 ID。
对于编辑控件,要复制的文本是编辑控件的内容。 对于组合框,文本是编辑控件 (或静态文本) 组合框部分的内容。 对于按钮,文本是按钮名称。 对于其他窗口,文本是窗口标题。 若要复制列表框中项的文本,应用程序可以使用 LB_GETTEXT 消息。
将 WM_GETTEXT 消息发送到具有 SS_ICON 样式的静态控件时, 将在 lParam 指向的缓冲区的前四个字节中返回图标的句柄。 仅当 WM_SETTEXT 消息已用于设置图标时,才如此。
富编辑: 如果要复制的文本超过 64K,请使用 EM_STREAMOUT 或 EM_GETSELTEXT 消息。
向非文本静态控件(如静态位图或静态图标控件)发送 WM_GETTEXT 消息不会返回字符串值。 相反,它返回零。 此外,在早期版本的 Windows 中,应用程序可以将 WM_GETTEXT 消息发送到非文本静态控件,以检索控件的 ID。 若要检索控件的 ID,应用程序可以使用 GetWindowLong 传递GWL_ID作为索引值,或使用 GWLP_ID传递 GetWindowLongPtr。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
另请参阅
-
引用
-
概念性
-
其他资源