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