Поделиться через


Метод 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.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Значение Описание
S_OK
Метод выполнен успешно.
E_FAIL
Произошла неизвестная ошибка.
E_INVALIDARG
Один или несколько параметров являются недопустимыми.
TF_E_COMPOSITION_REJECTED
Владелец контекста отклонил композицию по умолчанию.
TF_E_NOLOCK
Значение параметра EC является недопустимым файлом cookie или у вызывающего объекта нет блокировки чтения и записи.
TF_E_RANGE_NOT_COVERED
Диапазон не находится в активной композиции вызывающего объекта.

Комментарии

Если диапазон охватывает несколько регионов, вызовите 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

ITfDocumentMgr::CreateContext

ITfEditSession::D oEditSession

ITfRange

ITfRange::GetText

ITfRange::InsertEmbedded

Прочие константы платформы

Текстовые хранилища