Сообщение WM_GETTEXT


Прикладная программа отправляет сообщение WM_GETTEXT, чтобы копировать текст, соответствующий тексту в буфере окна, который обеспечивается вызывающей программой.

Синтаксис

Чтобы отправить это сообщение, вызовите функцию SendMessage как ниже указано.

lResult = SendMessage(      // возвращает значение LRESULT в lResult

(HWND) hWndControl,     // дескриптор целевого органа управления

(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_GETTEXTLENGTHWM_SETTEXT

Размещение и совместимость WM_GETTEXT

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да

Windows Me

Да

Windows 98

Да

Windows 95

Да

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz