Сообщение
WM_GETTEXTПрикладная программа отправляет сообщение
WM_GETTEXT, чтобы копировать текст, соответствующий тексту в буфере окна, который обеспечивается вызывающей программой.Синтаксис
Чтобы отправить это сообщение, вызовите функцию
SendMessage как ниже указано.
lResult = SendMessage( // возвращает значение LRESULT в lResult
(UINT) WM_GETTEXT, // ID сообщения (WPARAM) wParam, // = (WPARAM) () wParam; (LPARAM) lParam // = (LPARAM) () lParam; ); |
Параметры
wParam
Устанавливает максимальное число
TCHAR (символов), которое будет скопировано, включая символ завершения ноль-терминатор.Windows NT /2000/XP: Прикладные программы
ANSI могут иметь строку в буфере, сокращенную по величине (минимум до половины этого значения wParam) в результате преобразования из ANSI в Уникод.lParam
Указатель на буфер, который принимает текст.
Возвращаемые значения
Возвращаемое значение - скопированное число
TCHAR (символов), которое не включает символ завершения строки - нуль.Замечания
Функция
DefWindowProc копирует текст, в заданный буфер, связанный с окном и возвращает скопированное число символов.
Обратите внимание! на то, что для нетекстовых статических элементов управления функция дает Вам текст, с которым орган управления был первоначально создан, то есть число ID (идентификатора). Однако функция дает Вам ID не текстового статического элемента управления как первоначально создано. То есть, если бы Вы впоследствии использовали стиль STM_SETIMAGE, чтобы изменить его первоначальный ID, то все-таки должен возвратиться он. |
Для элемента редактирования, текст, который будет скопирован - содержимое поля редактирования. Для комбинированного окна, текст - содержимое части элементов редактирования (или статический текст) комбинированного блока. Для кнопки, текст - имя кнопки. Для других окон, текст - заголовок окна. Чтобы копировать текст элемента в окне списка, прикладная программа может использовать сообщение
LB_GETTEXT.Когда сообщение WM_GETTEXT отправляется статическому элементу управления со стилем
SS_ICON, дескриптор пиктограммы будет возвращен в первых четырех байтах буфера, указанного параметром lParam. Это истинно только тогда, если сообщение WM_SETTEXT использовалось, чтобы установить пиктограмму.Текстовый процессор
: если текст, который будет скопирован, превышает 64КБ, используется сообщение или EM_STREAMOUT или EM_GETSELTEXT.Windows 2000/XP: отправка сообщения
WM_GETTEXT нетекстовому статическому органу управления, такому как статический точечный рисунок или статическая пиктограмма, не возвращает строковое значение. Вместо него возвращается нуль. Кроме того, в предыдущих версиях Microsoft ® Windows ® и Windows NT ® Microsoft, прикладные программы могли отправлять сообщение WM_GETTEXT нетекстовому статическому элементу управления, чтобы извлечь ID органа управления. Чтобы извлечь ID органа управления в Windows 2000/XP, прикладные программы могут использовать функцию GetWindowLong, передающую GWL_ID как индексное значение или функцию GetWindowLongPtr, использующую GWLP_ID.Смотри также
DefWindowProc, EM_GETSELTEXT, EM_STREAMOUT, GetWindowLong, GetWindowLongPtr, GetWindowText, GetWindowTextLength, LB_GETTEXT, WM_GETTEXTLENGTH, WM_SETTEXT
Размещение и совместимость WM_GETTEXT |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |