Функция обратного вызова EDITWORDBREAKPROCA (winuser.h)
Определяемая приложением функция обратного вызова, используемая с сообщением EM_SETWORDBREAKPROC . Многострочный элемент управления редактированием или элемент управления расширенным редактированием вызывает функцию EditWordBreakProc , чтобы разорвать строку текста.
Тип EDITWORDBREAKPROC определяет указатель на эту функцию обратного вызова. EditWordBreakProc — это заполнитель для имени функции, определяемой приложением.
Синтаксис
EDITWORDBREAKPROCA Editwordbreakproca;
int Editwordbreakproca(
[in] LPSTR lpch,
[in] int ichCurrent,
[in] int cch,
[in] int code
)
{...}
Параметры
[in] lpch
Тип: LPTSTR
Указатель на текст элемента управления редактированием.
[in] ichCurrent
Тип: int
Индекс до позиции символа в буфере текста, который определяет точку, с которой функция должна начать проверку на разрыв по словам.
[in] cch
Тип: int
Количество TCHAR в тексте элемента управления редактированием. Для текста ANSI это число байтов; Для текста в Юникоде это число WCHAR.
[in] code
Тип: int
Действие, выполняемое функцией обратного вызова. Этот параметр может принимать одно из указанных ниже значений.
Возвращаемое значение
Тип: int
Если параметр кода указывает WB_ISDELIMITER, возвращаемое значение ненулевое (TRUE), если символ в указанной позиции является разделителем, или ноль, если это не так. Если параметр кода указывает WB_CLASSIFY, то возвращаемым значением являются класс символов и флаги разбиения по словам символа в указанной позиции. В противном случае возвращаемое значение будет индексом начала слова в буфере текста.
Комментарии
Возврат каретки, за которым следует канал строки, должен рассматриваться функцией обратного вызова как одно слово. Два возврата каретки, за которым следует канал строки, также должны рассматриваться как одно слово.
Приложение должно установить функцию обратного вызова, указав адрес функции обратного вызова в сообщении EM_SETWORDBREAKPROC .
Rich Edit 1.0:Microsoft Rich Edit 1.0 передает только символы ANSI в EditWordBreakProc. Для многофункциональных элементов управления редактированием можно также использовать сообщение EM_SETWORDBREAKPROCEX , чтобы заменить расширенную процедуру разбиения по словам по умолчанию функцией обратного вызова EditWordBreakProcEx . Эта функция предоставляет дополнительные сведения о тексте, например набор символов.
Rich Edit 2.0 и более поздних версий:Microsoft Rich Edit 2.0 и более поздних версий передают только символы Юникода в EditWordBreakProc. Таким образом, приложение ANSI преобразует строку Юникода, предоставленную rich edit, с помощью WideCharToMultiByte, а затем соответствующим образом преобразует индексы.
Примечание
Заголовок winuser.h определяет EDITWORDBREAKPROC как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
См. также раздел
Другие ресурсы
Справочные материалы