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


Метод ITextStoreAnchor::SetText (texttor.h)

Метод ITextStoreAnchor::SetText задает выделение текста между двумя предоставленными расположениями привязки.

Синтаксис

HRESULT SetText(
  [in] DWORD       dwFlags,
  [in] IAnchor     *paStart,
  [in] IAnchor     *paEnd,
  [in] const WCHAR *pchText,
  [in] ULONG       cch
);

Параметры

[in] dwFlags

Если задано значение TS_ST_CORRECTION, текст является преобразованием (исправлением) существующего содержимого, а также сохраняются все специальные сведения о разметке текста (метаданные), например .wav данные файла или идентификатор языка. Клиент определяет тип сохраняемой информации разметки.

[in] paStart

Указатель на привязку в начале диапазона замещаемого текста.

[in] paEnd

Указатель на привязку в конце диапазона замещаемого текста. Всегда должен следовать или находиться в той же позиции, что и paStart.

[in] pchText

Указатель на замещающий текст. Текстовая строка не обязательно должна заканчиваться значением NULL , так как число текстовых символов указано в параметре cch .

[in] cch

Указывает количество символов в замещающем тексте.

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

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

Значение Описание
S_OK
Метод выполнен успешно.
E_FAIL
Методу не удалось создать экземпляр одной из привязок paStart или paEnd.
TS_E_INVALIDPOS
Расположение paStart или paEnd находится за пределами текста документа.
TS_E_NOLOCK
Вызывающий объект не имеет блокировки чтения и записи.
TS_E_READONLY
Документ доступен только для чтения. Содержимое не может быть изменено.
TS_E_REGION
Предпринята попытка изменить текст через границу области.

Комментарии

Приложения должны начать композицию с помощью ITextStoreAnchor::InsertTextAtSelection. ITextStoreAnchor::SetText следует использовать только в существующей композиции. Если во время вызова SetText активная композиция отсутствует, диспетчер TSF создает композицию, которая длится достаточно долго для переноса вызова в SetText.

Вызывающие должны удерживать блокировку записи, полученную с помощью ITextStoreAnchor::RequestLock. В противном случае iTextStoreAnchor::SetText завершится сбоем с TS_E_NOLOCK.

Если paStart находится в том же расположении, что и paEnd, то операция представляет собой вставку, и существующий текст не будет удален.

TS_CHAR_EMBEDDED нельзя передать в этот метод. Для внедренных объектов используйте ITextStoreAnchor::InsertEmbedded .

Этот метод завершится ошибкой, если диапазон заменяемого текста охватывает границы области. Вместо этого вызывающие должны выполнять несколько вызовов метода, по одному для каждого региона.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header textstor.h
DLL Msctf.dll
Распространяемые компоненты TSF 1.0 в Windows 2000 Профессиональная

См. также раздел

Композиции

Внедренные объекты

ITextStoreAnchor

ITextStoreAnchor::InsertEmbedded

ITextStoreAnchor::RequestLock

ITextStoreAnchorSink::OnTextChange

Прочие константы хранилища текста