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


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

Задает для выделения текста указанные позиции символов.

Синтаксис

HRESULT SetText(
  [in]  DWORD         dwFlags,
  [in]  LONG          acpStart,
  [in]  LONG          acpEnd,
  [in]  const WCHAR   *pchText,
  [in]  ULONG         cch,
  [out] TS_TEXTCHANGE *pChange
);

Параметры

[in] dwFlags

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

[in] acpStart

Задает начальную позицию замещаемого текста.

[in] acpEnd

Указывает позицию конечного символа замещаемого текста. Этот параметр игнорируется, если значение равно 1.

[in] pchText

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

[in] cch

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

[out] pChange

Указатель на структуру TS_TEXTCHANGE со следующими данными.

Значение Значение
acpStart
Начальная позиция символа приложения перед вставленным текстом в документ.
acpOldEnd
Конечная позиция перед вставкой текста в документ. Это значение совпадает с значением acpStart для точки вставки. Если это значение отличается от acpStart, текст был выбран перед вставкой текста.
acpNewEnd
Конечная позиция после вставки текста.

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

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

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

Комментарии

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

Позиции символов acpStart и acpEnd не могут находиться за пределами диапазона документа.

Приложения не должны вызывать метод OnTextChange в ответ на этот метод.

Этот метод должен вызывать метод SetSelection для выбора текста, который требуется изменить. После успешного выполнения метода SetSelection этот метод вызывает метод InsertTextAtSelection для выполнения фактического изменения текста.

Требования

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

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

Композиции

ITextStoreACP2

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

OnTextChange

TS_TEXTCHANGE