Метод ITfRange::SetText (msctf.h)
Метод ITfRange::SetText заменяет содержимое, покрываемое диапазоном текста. Для пустого объекта диапазона метод приводит к вставке в расположение диапазона. Если новое содержимое является пустой строкой (cch = 0), метод удаляет существующее содержимое в диапазоне.
Синтаксис
HRESULT SetText(
[in] TfEditCookie ec,
[in] DWORD dwFlags,
[in] const WCHAR *pchText,
[in] LONG cch
);
Параметры
[in] ec
Определяет контекст редактирования, полученный из ITfDocumentMgr::CreateContext или ITfEditSession::D oEditSession.
[in] dwFlags
Задает необязательное поведение для исправления содержимого. Если задано значение TF_ST_CORRECTION, то операция представляет собой исправление существующего содержимого, а не создание нового содержимого, а исходные свойства текста сохраняются.
[in] pchText
Указатель на буфер, содержащий текст для замены содержимого диапазона.
[in] cch
Содержит количество символов в pchText.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Значение | Описание |
---|---|
|
Метод выполнен успешно. |
|
Произошла неизвестная ошибка. |
|
Один или несколько параметров являются недопустимыми. |
|
Владелец контекста отклонил композицию по умолчанию. |
|
Значение параметра EC является недопустимым файлом cookie или у вызывающего объекта нет блокировки чтения и записи. |
|
Диапазон не находится в активной композиции вызывающего объекта. |
Комментарии
Если диапазон охватывает несколько регионов, вызовите ITfRange::SetText для каждого региона отдельно. В противном случае метод может завершиться ошибкой.
По умолчанию текстовые службы запускают и заканчивают временную композицию, охватывающую диапазон, чтобы гарантировать, что владельцы контекста согласованно распознают композиции в измененном тексте. Если владелец композиции отклоняет композицию по умолчанию, метод возвращает TF_E_COMPOSITION_REJECTED. Композиции по умолчанию создаются только в том случае, если вызывающий объект еще не запустил одну из них. Если вызывающий объект имеет активную композицию, вызов завершается ошибкой.
Символ заполнителя объекта TF_CHAR_EMBEDDED может не передаваться в этот метод. Вместо него следует использовать ITfRange::InsertEmbedded.
Для вставки текста метод ITFInsertAtSelection:InsertTextAtSelection не требует выделения диапазона выделения и не требует, чтобы диапазон соответствовал выделенному фрагменту.
Требования
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | msctf.h |
DLL | Msctf.dll |
Распространяемые компоненты | TSF 1.0 в Windows 2000 Профессиональная |
См. также раздел
ITFInsertAtSelection:InsertTextAtSelection