22 сент. 2010 г.

WM_GETTEXT

Сообщение WM_GETTEXT посылается окну при запросе соответствующего ему текста. Функция DefWindowProc копирует текст, связанный с окном, в указанный буфер и возвращает скопированное число символов.
wParam = (WPARAM) cchTextMax;   // число копируемых символов 
lParam = (LPARAM) lpszText;     // адрес буфера для текста
Параметры:

cchTextMax Значение wParam. Задает максимальное количество символов для копирования, включая нулевой завершающий символ.
lpszText Значение lParam. Адрес буфера, который принимает текст.
Возвращаемые значения:
Возвращаемое значение – это количество скопированных символов.
Замечания:
Для средств редактирования, копируемый текст – это содержание средств редактирования. Для выпадающего списка – это содержание средства редактирования. Для кнопки – это имя кнопки. Для других окно – заголовок окна. Для копирования текста, содержащегося в элементе ListBox, приложение может воспользоваться сообщением LB_GETTEXT.

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

В элементе управления RichEdit, если копируемый текст превышает 64 килобайта, используйте сообщение EM_STREAMOUT или EM_GETSELTEXT.
Смотрите также:
DefWindowProc, GetWindowText, GetWindowTextLength, EM_GETSELTEXT, EM_STREAMOUT, LB_GETTEXT, WM_GETTEXTLENGTH, WM_SETTEXT