WM_GETTEXT сообщение

Копирует текст, соответствующий окну, в буфер, предоставленный вызывающим объектом.

#define WM_GETTEXT                      0x000D

Параметры

wParam

Максимальное число копируемых символов, включая завершающий пустой символ.

В приложениях ANSI строка в буфере может быть уменьшена (как минимум до половины значения wParam ) из-за преобразования из ANSI в Юникод.

lParam

Указатель на буфер, который получает текст.

Возвращаемое значение

Тип: LRESULT

Возвращаемое значение — это количество скопированных символов, не включая завершающий символ NULL.

Комментарии

Функция DefWindowProc копирует текст, связанный с окном, в указанный буфер и возвращает количество скопированных символов. Обратите внимание, что для нетекстовых статических элементов управления предоставляется текст, с помощью которого изначально был создан элемент управления, т. е. идентификатор. Однако он предоставляет идентификатор нетекстового статического элемента управления, созданного изначально. То есть, если впоследствии вы использовали STM_SETIMAGE для его изменения, исходный идентификатор по-прежнему будет возвращен.

Для элемента управления редактированием копируемый текст — это содержимое элемента управления редактирования. Для поля со списком текст — это содержимое элемента управления редактированием (или статического текста) поля со списком. Для кнопки текстом является имя кнопки. Для других окон текстом является заголовок окна. Чтобы скопировать текст элемента в списке, приложение может использовать LB_GETTEXT сообщение.

Когда сообщение WM_GETTEXT отправляется в статический элемент управления со стилем SS_ICON , в первых четырех байтах буфера, на который указывает lParam, будет возвращен дескриптор значка. Это справедливо, только если для задания значка использовалось сообщение WM_SETTEXT .

Расширенное редактирование: Если копируемый текст превышает 64 КБ, используйте сообщение EM_STREAMOUT или EM_GETSELTEXT .

Отправка сообщения WM_GETTEXT в нетекстовый статический элемент управления, например статическое растровое изображение или статический значок, не возвращает строковое значение. Вместо этого возвращается ноль. Кроме того, в ранних версиях Windows приложения могли отправлять сообщение WM_GETTEXT в нетекстовый статический элемент управления для получения идентификатора элемента управления. Чтобы получить идентификатор элемента управления, приложения могут использовать getWindowLong , передавая GWL_ID в качестве значения индекса, или GetWindowLongPtr с помощью GWLP_ID.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

См. также раздел

Справочные материалы

DefWindowProc

GetWindowLong

GetWindowLongPtr

GetWindowText

GetWindowTextLength

WM_GETTEXTLENGTH

WM_SETTEXT

Основные понятия

Windows

Другие ресурсы

EM_GETSELTEXT

EM_STREAMOUT

LB_GETTEXT